<gelöst>Things via VSC erstellen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: Things via VSC erstellen

Beitrag von scotty »

@Darkwin
Damit muss ich mich erst einmal vertraut machen.

@PeterA
Über das Shelly Binding
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: Things via VSC erstellen

Beitrag von udo1toni »

Also gut, versuchen wir noch was anderes...

Code: Alles auswählen

rule "weiterleiten"
when
    Item gWohnenS received command
then 
    logInfo("shutter","Rule weiterleiten wurde getriggert.")
    if(receivedCommand instanceof Number) return; // Number sollte auf jeden Fall funktionieren
    gWohnenS.members.forEach[r|
        logInfo("shutter","Item {} wird mit {} angesteuert.",r.name,receivedCommand)
        var String strCommand = "STOP"
        if(receivecCommand == UP) strCommand = "0"
        if(receivecCommand == DOWN) strCommand = "100"
        r.sendCommand(strCommand)
    ]
end
Die Idee: kommt das Kommando UP, wird eine 0 gesendet, kommt das Kommando DOWN, wird 100 gesendet, bei Kommando STOP wird "STOP" gesendet. Außerdem wird nun für jedes Item eine Log-Meldung ausgegeben. Mal schauen...

EDIT: Ich hätte schwören können, Anführungszeichen gesetzt zu haben...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: Things via VSC erstellen

Beitrag von scotty »

Ich habe eine Nachtschicht eingelegt und noch Verschiedenes probiert - alles erfolglos. Dabei habe ich noch einmal ganz von vorne angefangen, neue Things, neue items und neue Namen. Auch die Hardware (Shelly's) habe ich geprüft, interessanterweise lassen diese sich einzeln über widgets ansprechen.
Vorhin dann den Vorschlag von Udo umgesetzt, neu gestartet - wieder ohne Erfolg, jedoch mit Fehlermeldung in der Log.

item

Code: Alles auswählen

Group:Rollershutter gAlleShutters
Group:Rollershutter gGartenShutters
Group:Rollershutter gTerrasseShutters
Group:Rollershutter gVorneShutters
Rollershutter rollTerrLi   "Terrasse links"  (gAlleShutters, gGartenShutters, gTerrasseShutters) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollTerrRe   "Terrasse rechts" (gAlleShutters, gGartenShutters, gTerrasseShutters) ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollGalerie  "Galerie"         (gAlleShutters, gGartenShutters)                    ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollBuero    "Buero"           (gAlleShutters, gGartenShutters)                    ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollKueche   "Kueche"          (gAlleShutters, gVorneShutters)                     ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollGWC      "Gaeste WC"       (gAlleShutters, gVorneShutters)                     ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollSchlafen "Schlafen"        (gAlleShutters, gVorneShutters)                     ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rollershutter rollBad      "Bad"             (gAlleShutters, gVorneShutters)                     ["Rollershutter"] {channel="shelly:shelly25-roller:xxxxxxxxxxxx:roller#control"}
Rule:

Code: Alles auswählen

rule "weiterleiten"
when
    Item gTerrasseShutters received command
then 
    logInfo("shutter","Rule weiterleiten wurde getriggert.")
    if(receivedCommand instanceof Number) return; // Number sollte auf jeden Fall funktionieren
    gTerrasseShutters.members.forEach[r|
        logInfo("shutter","Item {} wird mit {} angesteuert.",r.name,receivedCommand)
        var String strCommand = "STOP"
        if(receivedCommand == UP) strCommand = 0
        if(receivedCommand == DOWN) strCommand = 100
        r.sendCommand(strCommand)
    ]
end

Log:

Code: Alles auswählen

2020-08-26 11:57:22.003 [INFO ] [lipse.smarthome.model.script.shutter] - Rule weiterleiten wurde getriggert.
2020-08-26 11:57:22.009 [INFO ] [lipse.smarthome.model.script.shutter] - Item rollTerrLi wird mit DOWN angesteuert.
2020-08-26 11:57:22.020 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'weiterleiten': Could not invoke method: org.eclipse.smarthome.model.script.actions.BusEvent.sendCommand(org.eclipse.smarthome.core.items.Item,java.lang.String) on instance: null

==> /var/log/openhab2/events.log <==

2020-08-26 11:57:21.997 [ome.event.ItemCommandEvent] - Item 'gTerrasseShutters' received command DOWN
2020-08-26 11:57:22.007 [ome.event.ItemCommandEvent] - Item 'rollTerrLi' received command DOWN
2020-08-26 11:57:22.014 [ome.event.ItemCommandEvent] - Item 'rollTerrRe' received command DOWN
2020-08-26 11:57:22.017 [nt.ItemStatePredictedEvent] - rollTerrLi predicted to become NULL
2020-08-26 11:57:22.018 [nt.ItemStatePredictedEvent] - rollTerrRe predicted to become NULL

==> /var/log/openhab2/openhab.log <==

2020-08-26 11:57:24.267 [INFO ] [lipse.smarthome.model.script.shutter] - Rule weiterleiten wurde getriggert.
2020-08-26 11:57:24.273 [INFO ] [lipse.smarthome.model.script.shutter] - Item rollTerrLi wird mit STOP angesteuert.
2020-08-26 11:57:24.284 [INFO ] [lipse.smarthome.model.script.shutter] - Item rollTerrRe wird mit STOP angesteuert.

==> /var/log/openhab2/events.log <==

2020-08-26 11:57:24.260 [ome.event.ItemCommandEvent] - Item 'gTerrasseShutters' received command STOP
2020-08-26 11:57:24.263 [ome.event.ItemCommandEvent] - Item 'rollTerrLi' received command STOP
2020-08-26 11:57:24.265 [ome.event.ItemCommandEvent] - Item 'rollTerrRe' received command STOP
2020-08-26 11:57:24.281 [ome.event.ItemCommandEvent] - Item 'rollTerrLi' received command STOP
2020-08-26 11:57:24.295 [ome.event.ItemCommandEvent] - Item 'rollTerrRe' received command STOP

In diesem Zusammenhang noch eine andere Frage: Die Items in eine Datei schreiben oder für jedes item eine eigene?

Bevor ich es aufgebe: momentan bin ich für jeden weiteren Vorschlag dankbar.

Edit: Zur Steuerung der Gruppe verwende ich das widget "popov-blinds".
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Things via VSC erstellen

Beitrag von PeterA »

Items können zusammen in eine Datei.
Aber um etwas Übersicht zu behalten kann man auch weitere Items Dateien geordnet nach Zweck erstellen.

Wie ist denn das Habpanel Widget konfiguriert ?
Was sendet es denn bei zum Hoch und Runter fahren ?
- OpenHab 2.4
#PWRUP

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Things via VSC erstellen

Beitrag von Darkwin101 »

Mehrere Items ruhig in eine Datei ich habe das immer Gruppiert also eine für Licht, Rolladen, bzw. nach Bindings Hometic,Hue usw.
Du könntest auch alles in eine Item Datei Packen allerdings wird das relativ unübersichtlich also Richte es so ein wie du am Besten Klar kommst ob nach Funktion oder Binding spielt keine Rolle.

Kannst du das ganze mal über die Sitemap probieren um auszuschließen das es nicht am Widget liegt. Ich benutze das Habpanel leider nicht und kann zu den Widgets daher nicht sagen.

MfG
Darkwin101

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Things via VSC erstellen

Beitrag von peter-pan »

Hast du schon mal

Code: Alles auswählen

        if(receivedCommand == UP) strCommand = "0"
        if(receivedCommand == DOWN) strCommand = "100"
probiert, da "strCommand" als String-Variable definiert ist ?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: Things via VSC erstellen

Beitrag von scotty »

@ PeterA

ich hoffe, das hilft dir weiter...
<div class="progress-controls">
<div class="btn-group-vertical">
<button type="button" class="btn btn-default btn-lg" title="UP" ng-click="sendCmd(config.blind_item, config.cmd_up)">
<i class="glyphicon glyphicon-menu-up"></i>
</button>
<button type="button" class="btn btn-default btn-lg" title="STOP" ng-click="sendCmd(config.blind_item, config.cmd_stop)">
<i class="glyphicon glyphicon-stop"></i>
</button>
<button type="button" class="btn btn-default btn-lg" title="DOWN" ng-click="sendCmd(config.blind_item, config.cmd_down)">
<i class="glyphicon glyphicon-menu-down"></i>
</button>
</div>
</div>
wid.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Benutzeravatar
scotty
Beiträge: 676
Registriert: 28. Apr 2020 04:44
Answers: 0

Re: Things via VSC erstellen

Beitrag von scotty »

@ Darkwin101

Ich verwende nur hapanel und kenne mich mit Sitemaps nicht aus.

Trotzdem, vielen Dank!

@ peter-pan

Kannst du mir bei der Formulierung der Rule mal helfen?

Gruß
OH 3.4.5 im Docker auf Synology DS918+ mit USV, Reolink-RLC-511WA, Philips Hue, AVM Fritz!Box 6591C, Alexa, Logitech Harmony und diversen Shelly's

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: Things via VSC erstellen

Beitrag von PeterA »

kann es sein das der Shell UP und DOWN nicht versteht ?

https://shelly-api-docs.shelly.cloud/#s ... ller-index

Code: Alles auswählen

Shelly2.5 in Roller Mode
In Roller mode the device can be used to control a bi-directional motor, with optional obstacle detection and safety switch features. 
Commands are: Open, Close, Stop and Set Position.
Und die direkte Position von 0-100% funktioniert nur wenn der Shelly vorher auf den Rolladen kalibriert wurde.
- OpenHab 2.4
#PWRUP

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Things via VSC erstellen

Beitrag von peter-pan »

Ich bin da auch nicht so im Thema, da ich keine gesteuerten Rollladen habe, aber ich meinte eigentlich nur so:

Code: Alles auswählen

rule "weiterleiten"
when
    Item gTerrasseShutters received command
then 
    logInfo("shutter","Rule weiterleiten wurde getriggert.")
    if(receivedCommand instanceof Number) return; // Number sollte auf jeden Fall funktionieren
    gTerrasseShutters.members.forEach[r|
        logInfo("shutter","Item {} wird mit {} angesteuert.",r.name,receivedCommand)
        var String strCommand = "STOP"
        if(receivedCommand == UP) strCommand = "0"
        if(receivedCommand == DOWN) strCommand = "100"
        r.sendCommand(strCommand)
    ]
end
Hier noch ein Link zu deinem Widget. Vielleicht hat @sihui noch eine Idee.

Noch eine abschliessende Frage. Den Namen "weiterleiten" für deine Rule benutzt du doch nur einmal, oder ?
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Antworten