Seite 1 von 1

Fehler bei BroadcastNotification

Verfasst: 4. Mär 2022 21:22
von TiGeR_25
Hallo zusammen,

ich beschäftige mich jetzt seit einiger Zeit mit Openhab und habe auch schon viele Things und Items erstellt.
Seit dieser Woche macht mir die BroadcastNotification zu schaffen, da ich keine PushNachrichten mehr in die Openhab-APP erhalte.
Mein Openhab liegt auf einem RaspPi 3 und ich habe die OpenhabVersion 3.0.1.

Meine Rule sieht folgendermaßen aus:

Code: Alles auswählen

rule "Alarm wird angeschalten"

when

    Item AlarmScharf received command ON 

then 

sendBroadcastNotification("Alarm angeschaltet!")

end
In erhalte dann allerdings keine Push-Benachrichtigung und in den logs wird folgendes gemeldet:

Code: Alles auswählen

[ERROR] [.internal.handler.ScriptActionHandler] - Script execution of rule with UID 'alarm-1' failed: The name 'sendBroadcastNotification' cannot be resolved to an item or type; line 13, column 1, length 48 in alarm
In einigen Beiträge habe ich auch gesehen, dass vorab eine Variable gebildet werden muss. Habe ich auch versucht:

Code: Alles auswählen

var NotificationAction = org.openhab.io.openhabcloud.NotificationAction
und hat letzte Woche bei diversen Tests noch funktioniert.

Jetzt erhalte ich nach dem speichern der alarm.rules in den logs dazu die folgende Meldung:

Code: Alles auswählen

21:16:11.281 [WARN ] [le.runtime.internal.RuleContextHelper] - Variable 'NotificationAction' on rule file 'alarm.rules' cannot be initialized with value '<XMemberFeatureCallImplCustom>.NotificationAction': The name 'org' cannot be resolved to an item or type; line 5, column 26, length 3
Kann mir bitte jemand weiterhelfen? Google war bei der Suche nach den Log-Einträgen wenig erfolgreich.

P.S. einen Zugang zu openhab.org habe ich und die Broadcastnotification´s aus den rules in der OH3 Weboberfläche laufen auch. Nur alles was ich in VSCode fabriziere hakt gerade.

Re: Fehler bei BroadcastNotification

Verfasst: 4. Mär 2022 23:27
von int5749
Hola,

sendBroadcastNotification ist ja eine "eingebaute" Action und sollte nicht extra zu installieren sein. Nach Cloud Notification Actions müssen die Geräte, welches dies empfangen sollen, in der Cloud registriert sein.

1) läuft die Verbindung zur Cloud?
2) Sind die Geräte dort registriert?

VG

Re: Fehler bei BroadcastNotification

Verfasst: 5. Mär 2022 20:50
von TiGeR_25
Hi int5749,

die Verbindung zur Cloud funktioniert einwandfrei und das Empfangsgerät ist dort auch registriert. Ich habe diverse RULES in der OPENHAB-Weboberfläche unter Einstellungen--> Rules erstellt. Hier allerdings mit Java Scripts als THEN-Funktion. Dort habe ich die var NotificationAction.... auch benötigt. Springt hier eine Regel an, bekomme ich auch eine Push-Nachricht aufs Smartphone.
Ich versuche meine Rules jetzt langsam in VSCode mit eigenen .RULES-Dateien zu überführen und habe hier das Problem, dass die Push-Nachrichten nicht durchkommen und mit dem o.g. ERROR einen Fehler auswerfen. Ich verstehe allerdings nicht, was hier mit

Code: Alles auswählen

The name 'sendBroadcastNotification' cannot be resolved to an item or type
gemeint ist. sendBroadcastNotification ist ja ein Befehl und kein item oder type!?

Habe jetzt eine neue Rule per Weboberfläche und mit DSL-script als THEN kreiert:

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: FensterkontaktBueroSued_StateContact
      state: OPEN
    type: core.ItemStateChangeTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      type: application/vnd.openhab.dsl.rule
      script: sendBroadcastNotification("Test-Alarm DSL-rule!")
    type: script.ScriptAction
Die macht also nichts anderes, als eine Nachricht senden, wenn das Bürofenster geöffnet wird. Und das klappt einwandfrei. Bedeutet für mich, dass die Kommunikation mit der Cloud funktioniert. Nur in meinen eigenen .rules-Dateien wird weiterhin der ERROR ausgegeben. Ich verstehe es nicht :cry:.

Es erscheint mir nicht logisch...

Re: Fehler bei BroadcastNotification

Verfasst: 10. Mär 2022 21:25
von TiGeR_25
Update:

Ich habe mein System jetzt auf 3.2.0 geupdated. Anfänglich wurrde ich dann auch noch in myopenhab.org als offline angezeigt.
Hat sich nach ner Weile wieder gefangen. Der Fehler mit der sendBroadcastNotification besteht auch hier weiterhin.
Ich habe jetzt den org.openhab.io.openhabcloud auf DEBUG gesetzt und erhalte diverse Meldungen. Die meisten sehen eher harmlos und funktionsfähig aus. Die folgenden sind mir allerdings aufgefallen:

Code: Alles auswählen

[DEBUG] [ons.NotificationModuleHandlerFactory] - bundle org.openhab.io.openhabcloud:3.2.0 (354)[org.openhab.io.openhabcloud.internal.actions.NotificationModuleHandlerFactory(354)] : Declared Method org.openhab.io.openhabcloud.internal.actions.NotificationModuleHandlerFactory.activate([interface org.osgi.service.component.ComponentContext]) not found
[DEBUG] [ons.NotificationModuleHandlerFactory] - bundle org.openhab.io.openhabcloud:3.2.0 (354)[org.openhab.io.openhabcloud.internal.actions.NotificationModuleHandlerFactory(354)] : Declared Method org.openhab.core.automation.handler.BaseModuleHandlerFactory.activate([interface org.osgi.service.component.ComponentContext]) not found
[DEBUG] [ons.NotificationModuleHandlerFactory] - bundle org.openhab.io.openhabcloud:3.2.0 (354)[org.openhab.io.openhabcloud.internal.actions.NotificationModuleHandlerFactory(354)] : Declared Method java.lang.Object.activate([interface org.osgi.service.component.ComponentContext]) not found
Kann es sein, dass die entsprechenden BaseModule nicht gefunden werden und daher der Befehl sendBroadcastNotification nicht zur Verfügung steht?

Hat jmd. eine Idee, wie ich das wieder zum Laufen bekomme?