Seite 5 von 6

Re: Shelly Plus2PM in Openhab 3

Verfasst: 30. Nov 2023 08:19
von gexle
Und wenn ich den Code so eingebe sieht es so aus

Code: Alles auswählen

component: oh-label-item
config:
  item: GigabitSwitchBuro1GS108Ev3_Online
  title: Gigabit Switch Büro 3 (GS108Ev3)
  style:
    color: white
  iconUseState: true
  icon: oh:switch-off
slots:
  after:
    - component: oh-list-item
      config:
        text: =(items.GigabitSwitchBuro1GS108Ev3_Online.state === 'ON') ?
          'Online':'Offline'
        style:
          color: =(items.GigabitSwitchBuro1GS108Ev3_Online.state === 'ON') ? 'green':'red'

Re: Shelly Plus2PM in Openhab 3

Verfasst: 1. Dez 2023 20:38
von udo1toni
Bin erst jetzt dazu gekommen...

Code: Alles auswählen

component: oh-list-card
config:
  title: Büro Switches
slots:
  default:
    - component: oh-list-item
      config:
        item: SwitchBuro1
        title: Gigabit Switch Büro 1 (GS108Ev3)
        style:
          color: black
        iconUseState: true
        icon: oh:network
      slots:
        after:
          - component: Label
            config:
              text: =(items.SwitchBuro1.state === 'ON') ? 'Online':'Offline'
              style:
                color: =(items.SwitchBuro1.state === 'ON') ? 'green':'red'
    - component: oh-list-item
      config:
        item: SwitchBuro2
        title: Gigabit Switch Büro 2 (GS108Ev3)
        style:
          color: black
        iconUseState: true
        icon: oh:network
      slots:
        after:
          - component: Label
            config:
              text: =(items.SwitchBuro2.state === 'ON') ? 'Online':'Offline'
              style:
                color: =(items.SwitchBuro2.state === 'ON') ? 'green':'red'
    - component: oh-list-item
      config:
        item: SwitchBuro3
        title: Gigabit Switch Büro 3 (GS108Ev3)
        style:
          color: black
        iconUseState: true
        icon: oh:network
      slots:
        after:
          - component: Label
            config:
              text: =(items.SwitchBuro3.state === 'ON') ? 'Online':'Offline'
              style:
                color: =(items.SwitchBuro3.state === 'ON') ? 'green':'red'
    - component: oh-list-item
      config:
        item: SwitchBuro4
        title: Gigabit Switch Büro 4 (GS108Ev3)
        style:
          color: black
        iconUseState: true
        icon: oh:network
      slots:
        after:
          - component: Label
            config:
              text: =(items.SwitchBuro4.state === 'ON') ? 'Online':'Offline'
              style:
                color: =(items.SwitchBuro4.state === 'ON') ? 'green':'red'
Ergibt (für die Switches SwitchBuro1, SwitchBuro3 Zustand OFF und SwitchBuro2, SwitchBuro4 Zustand ON):
Screenshot 2023-12-01 203530.png
Es sollte klar sein, dass in yaml sowohl Indentation (Einrückung) als auch Zeilenumbrüche nicht beliebig gesetzt werden dürfen, beides hat eine Bedeutung.

Re: Shelly Plus2PM in Openhab 3

Verfasst: 2. Dez 2023 09:34
von gexle
Danke Udo jetzt hat es geklappt! :P :P

Re: Shelly Plus2PM in Openhab 3

Verfasst: 3. Dez 2023 14:31
von gexle
Hallo Udo

Brauche bitte nochmals deine Hilfe wie muss den der Code aussehen damit auch die Milisekunden in Farbe sind also die ganze Zahl eben!

Code: Alles auswählen

component: oh-label-item
config:
  action: analyzer
  actionAnalyzerItems:
    - GigabitSwitchBuro1GS108Ev3_Pingzeit
  item: GigabitSwitchBuro1GS108Ev3_Pingzeit
  title: Gigabit Switch Büro 1 (GS108Ev3) Pingzeit
  style:
    color: orange
  fallbackIconToInitial: true
  icon: f7:gauge_badge_plus

Re: Shelly Plus2PM in Openhab 3

Verfasst: 3. Dez 2023 19:46
von udo1toni
Gleiches Problem wie bei den Schaltern, und letztlich identische Lösung: Du musst für die Zeile ein oh-list-item verwenden, kein oh-label-item.
Und im oh-list-item kannst Du dann als slot after setzen und dort explizit den Status ausgeben (und vollumfänglich formatieren).
Nutze einfach eine der Online-Anzeigen als Vorlage...

Re: Shelly Plus2PM in Openhab 3

Verfasst: 4. Dez 2023 17:33
von gexle
Das wird wieder mal nix sorry

Code: Alles auswählen

component: oh-label-item
config:
  action: analyzer
  actionAnalyzerItems:
    - GigabitSwitchBuro1GS108Ev3_Pingzeit
  item: GigabitSwitchBuro1GS108Ev3_Pingzeit
  title: Gigabit Switch Büro 1 (GS108Ev3) Pingzeit
  style:
    color: orange
  fallbackIconToInitial: true
  icon: f7:gauge_badge_plus
  slots: null
  default:
    - component: oh-list-item
      config:
        item: GigabitSwitchBuro1GS108Ev3_Pingzeit
        title: Gigabit Switch Büro 1 (GS108Ev3) Pingzeit
        style:
          color: orange
        iconUseState: true
        icon: oh:network
      slots:
        after:
          - component: Label
            config:
              style:
                color: =(items.GigabitSwitchBuro1GS108Ev3_Pingzeit.state === 'orange') ?
                  'orange'
slots: null

Re: Shelly Plus2PM in Openhab 3

Verfasst: 4. Dez 2023 21:07
von udo1toni
Warum machst Du Dir das Leben so schwer? Eine Bedingung schreibt man nur hin, wenn es eine Entscheidung zu treffen gilt. Hier willst Du die Farbe IMMER auf orange stehen haben, nicht nur, wenn der Status(!) des Items den Wert (!) "orange" hat (was bei einem Number Item niemals der Fall ist... orange ist ein String...)

Code: Alles auswählen

component: oh-label-item
config:
  action: analyzer
  actionAnalyzerItems:
    - GigabitSwitchBuro1GS108Ev3_Pingzeit
  item: GigabitSwitchBuro1GS108Ev3_Pingzeit
  title: Gigabit Switch Büro 1 (GS108Ev3) Pingzeit
  style:
    color: orange
  fallbackIconToInitial: true
  icon: f7:gauge_badge_plus
  slots: null
  default:
    - component: oh-list-item
      config:
        item: GigabitSwitchBuro1GS108Ev3_Pingzeit
        title: Gigabit Switch Büro 1 (GS108Ev3) Pingzeit
        style:
          color: orange
        iconUseState: true
        icon: oh:network
      slots:
        after:
          - component: Label
            config:
              style:
                text: = items.GigabitSwitchBuro1GS108Ev3_Pingzeit.state
                color: orange

Re: Shelly Plus2PM in Openhab 3

Verfasst: 5. Dez 2023 17:44
von gexle
Hallo Udo sorry immer noch das selbe.
Danke für deine Gedult

Von den Einrückungen her habe ich keine Fehler zumindest wird mir keiner angezeigt!

Code: Alles auswählen

component: oh-label-item
config:
  action: analyzer
  actionAnalyzerItems:
    - GigabitSwitchBuro1GS108Ev3_Pingzeit
  item: GigabitSwitchBuro1GS108Ev3_Pingzeit
  title: Gigabit Switch Büro 1 (GS108Ev3) Pingzeit
  style:
    color: orange
  fallbackIconToInitial: true
  icon: f7:gauge_badge_plus
  slots: null
  default:
    - component: oh-list-item
      config:
        item: GigabitSwitchBuro1GS108Ev3_Pingzeit
        title: Gigabit Switch Büro 1 (GS108Ev3) Pingzeit
        style:
          color: orange
        iconUseState: true
        icon: oh:network
      slots:
        after:
          - component: Label
            config:
              style:
                text: = items.GigabitSwitchBuro1GS108Ev3_Pingzeit.state
                color: orange
  iconUseState: true
slots: null

Re: Shelly Plus2PM in Openhab 3

Verfasst: 9. Dez 2023 07:29
von gexle
Hallo Udo

Sorry wie muss das den aussehen ich das will einfach nicht... :oops: :oops:

Re: Shelly Plus2PM in Openhab 3

Verfasst: 9. Dez 2023 11:54
von udo1toni
Also bei mir funktioniert es...

Code: Alles auswählen

component: oh-list-card
config: {}
slots:
  default:
    - component: oh-list-item
      config:
        item: GigabitSwitchBuro1GS108Ev3_Pingzeit
        title: Gigabit Switch Büro 1 (GS108Ev3) Pingzeit
        style:
          color: orange
        fallbackIconToInitial: true
        icon: f7:gauge_badge_plus
        action: analyzer
        actionAnalyzerItems:
          - GigabitSwitchBuro1GS108Ev3_Pingzeit
      slots:
        after:
          - component: Label
            config:
              text: = items.GigabitSwitchBuro1GS108Ev3_Pingzeit.state
              style:
                color: orange
    - component: oh-list-item
      config:
        item: GigabitSwitchBuro2GS108Ev3_Pingzeit
        title: Gigabit Switch Büro 2 (GS108Ev3) Pingzeit
        style:
          color: orange
        fallbackIconToInitial: true
        icon: f7:gauge_badge_plus
        action: analyzer
        actionAnalyzerItems:
          - GigabitSwitchBuro2GS108Ev3_Pingzeit
      slots:
        after:
          - component: Label
            config:
              text: = items.GigabitSwitchBuro2GS108Ev3_Pingzeit.state
              style:
                color: orange
    - component: oh-list-item
      config:
        item: GigabitSwitchBuro3GS108Ev3_Pingzeit
        title: Gigabit Switch Büro 3 (GS108Ev3) Pingzeit
        style:
          color: orange
        fallbackIconToInitial: true
        icon: f7:gauge_badge_plus
        action: analyzer
        actionAnalyzerItems:
          - GigabitSwitchBuro3GS108Ev3_Pingzeit
      slots:
        after:
          - component: Label
            config:
              text: = items.GigabitSwitchBuro3GS108Ev3_Pingzeit.state
              style:
                color: orange
    - component: oh-list-item
      config:
        item: GigabitSwitchBuro4GS108Ev3_Pingzeit
        title: Gigabit Switch Büro 4 (GS108Ev3) Pingzeit
        style:
          color: orange
        fallbackIconToInitial: true
        icon: f7:gauge_badge_plus
        action: analyzer
        actionAnalyzerItems:
          - GigabitSwitchBuro4GS108Ev3_Pingzeit
      slots:
        after:
          - component: Label
            config:
              text: = items.GigabitSwitchBuro4GS108Ev3_Pingzeit.state
              style:
                color: orange
Screenshot 2023-12-09 114826.png
Was ganz wichtig ist: Wenn Du den Codeblock einfügst, machst Du das gewöhnlich auf der Ebene, in die der Codeblock gehört (schon damit die Einrückungen automatisch korrekt sind). Dabei wird openHAB aber gerne mal Details abändern, insbesondere z.B. aus einem oh-list-item ein oh-label-item machen. Das musst Du danach noch mal kontrollieren. Am besten machst Du das auf der übergeordneten Ebene, denn nur dort kannst Du die entsprechenden Stellen im Code ändern, ohne dass openHAB drin rum pfuscht (immer vorausgesetzt, die Änderungen sind syntaktisch, semantisch und im Kontext korrekt).