Seite 1 von 1

Ein Neuling und Rule Probleme

Verfasst: 7. Jun 2021 09:51
von .-Nano-.
Guten Morgen,

Ich habe vor ungefähr 3 Wochen mit Openhab3 angefangen (vorher nichts derartiges gemacht, also kein Vorwissen)
und habe von Anfang an das Problem, dass keine meiner Rules funktioniert.


Aber fangen wir von Vorn an:

Basis ist eine OpenmediaVault auf einem Intel Xeon mit 32Gb Ram und einer Extra SSD für "Spielerein".
Folglich läuft OpenHab3 in einem Docker und hat mehr als genug Leistung zur Verfügung.
Wer sich jetzt fragt, "warum?" - der Gerät läuft hier als FamilienServer und Datenbunker eines 3 Generationen Hauses. Hardware war also da...
Und wie das so üblich ist in einem GenerationenHaus, hat da jeder seine eigenen Vorstellungen von "da müssen wir was automatisieren"... (daher OpenHab)




Software:
OMV 4.1.36-1
Docker Repo: openhab/openhab
Openhab 3.0.2

2 x Shelly´s (Shelly 1 V3)
(20191217-140757/1047)
(beide im Detached Switch Mode - "Detached Switch - Set Shelly device to be in "Detached" switch mode - switch is separated from the relays.")



Was soll überhaupt gemacht werden:

Nun, ich habe ein automatisches Hoftor.
Und wenn dieses zwischen 16:00 und 9:00 (Dunkel) öffnet, soll das Hoflicht an gehen.
Nach schließen des Hoftors soll das Licht wieder aus gehen.

Also ein Shelly ans Hoftor, das andere ans Hoflicht.


Die Regel fürs anschalten sieht dann so aus:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: shelly1Tor192168214_Eingang
      state: ON
    type: core.ItemStateUpdateTrigger
conditions:
  - inputs: {}
    id: "3"
    configuration:
      startTime: 16:00
      endTime: 09:00
    type: core.TimeOfDayCondition
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: Shelly1Hoflicht192168215_Betrieb
      state: ON
    type: core.ItemStateUpdateAction

Fürs ausschalten so:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: shelly1Tor192168214_Eingang
      state: OFF
    type: core.ItemStateUpdateTrigger
conditions:
  - inputs: {}
    id: "3"
    configuration:
      startTime: 16:00
      endTime: 09:00
    type: core.TimeOfDayCondition
  - inputs: {}
    id: "4"
    configuration:
      itemName: Shelly1Hoflicht192168215_Eingang
      state: OFF
      operator: =
    type: core.ItemStateCondition
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: Shelly1Hoflicht192168215_Betrieb
      state: OFF
    type: core.ItemStateUpdateAction

Bei der Fehlersuche sehe ich, dass der Eingang am Shelly den Status ändert. Also OpenHab weiß, dass da ein Signal kommt.
Aber die Regel wird nicht ausgeführt - Licht bleibt aus.



Hmm, ok. Vielleicht erstmal etwas ganz simples.
Versuchen wir erstmal nur mit einem Shelly zu arbeiten.
Hoflich an / aus über einen Schalter.

an:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: Shelly1Hoflicht192168215_Eingang
      state: ON
    type: core.ItemStateUpdateTrigger
conditions:
  - inputs: {}
    id: "3"
    configuration:
      startTime: 16:00
      endTime: 09:00
    type: core.TimeOfDayCondition
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: Shelly1Hoflicht192168215_Betrieb
      state: ON
    type: core.ItemStateUpdateAction
aus:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: Shelly1Hoflicht192168215_Eingang
      state: OFF
    type: core.ItemStateUpdateTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: Shelly1Hoflicht192168215_Betrieb
      state: OFF
    type: core.ItemStateUpdateAction

Selbes Spiel. Der Eingang kommt, aber die Aktion lässt auf sich warten.

Was mache ich falsch?

Re: Ein Neuling und Rule Probleme

Verfasst: 7. Jun 2021 18:25
von udo1toni
Hallo und willkommen im Forum!

Also, grundsätzlich scheint schon "etwas" zu funktionieren.
Aber zur Sicherheit: Kannst Du über die Main UI (also von openHAB aus) das Tor öffnen und schließen (bzw. siehst Du, dass das Tor geöffnet bzw. geschlossen wurde)? Kannst Du das Licht ein- und ausschalten?

Was die Regeln betrifft: Als Trigger hast Du core.ItemStateUpdateTrigger gewählt, was möglich, aber nicht optimal ist. Besser wäre core.ItemStateChangedTrigger (oder war das ohne d? Bin grade zu faul... Es geht jedenfalls darum, dass sich der Status geändert hat. Nur dann soll die Rule auslösen.)

Als action hast Du core.ItemStateUpdateAction gewählt, das ist definitiv falsch. Du möchtest einen Befehl ausführen, nicht den Status eines Items ändern. Auch hier bin ich zu faul, um nachzuschauen, es müsste sich aber um etwas wie core.ItemSendCommandAction handeln. Nur dann werden auch Schaltbefehle an die verlinkten Channel weitergeleitet.

Re: Ein Neuling und Rule Probleme

Verfasst: 9. Jun 2021 11:32
von .-Nano-.
Hi,

Ja über die UI kann ich sowohl das Licht schalten als auch das Tor bedienen.
Darüber sehe ich ja quasi die Eingänge der Shelly´s.



Bei der Rule hab ich deinen Rat befolgt:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: Shelly1Hoflicht192168215_Eingang
      state: ON
      previousState: OFF
    type: core.ItemStateChangeTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      command: ON
      itemName: Shelly1Hoflicht192168215_Betrieb
    type: core.ItemCommandAction
Ein core.ItemSendCommandAction habe ich nicht gefunden. Das was mir OpenHab gibt ist core.ItemCommandAction. Aber das meintest du warscheinlich.

Anyway, am Zustand ändert sich nichts. Ich kann das Licht nicht per Rule schalten...

Re: Ein Neuling und Rule Probleme

Verfasst: 9. Jun 2021 21:38
von udo1toni
Rules, die Du über die UI anlegst, kannst Du auch gezielt starten (über das Play Symbol) Wird das Licht dann geschaltet? Falls nein, hast Du einen Fehler im actions Bereich, falls ja, liegt der Fehler im Triggerbereich (natürlich kannst Du auch in beiden Bereichen einen Fehler haben :) )

Re: Ein Neuling und Rule Probleme

Verfasst: 12. Jun 2021 16:56
von .-Nano-.
Ahhh, das hilft mir schon mal weiter.

Es hat etwas mit dem Eingang zu tun. Denn das Licht geht an bzw. aus, wenn ich die Rule starte.
ich probier mal ein wenig mit den Triggern rum... danke erstmal

HA !
Geht.

Das sieht dann in meinem Fall so aus:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: shelly1Tor192168214_Eingang
      state: ON
      previousState: OFF
    type: core.ItemStateChangeTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      command: ON
      itemName: Shelly1Hoflicht192168215_Betrieb
    type: core.ItemCommandAction


also statt "core.ItemStateCondition" nimmt man "core.ItemStateChangeTrigger"
und statt "core.ItemStateUpdateAction" nimmt man "core.ItemCommandAction".

Warum das beim ersten mal nicht funktioniert hat, weiß ich allerdings nicht.