NEWS
Mit NSPanel Javascript starten
-
Hallo zusammen, ich versuche seit ein paar Tagen erfolglos mit einem NSPanel und lovelace-ui ein Script zu starten.
Ich habe ein paar Funksteckdosen, die ich über einen Raspberry und ein 433Mhz Sender schalten kann. Dazu rufe ich die Webseite des Raspberrys auf und übergebe eine id um die Steckdosen zu schalten. Zum Beispiel:
http://192.1.1.44 /befehl.php?id=31: Dose 3 an
http://192.1.1.44 /befehl.php?id=30: Dose 3 aus
Das klappt wunderbar.
Jetzt möchte ich eine Seite mit Tastern auf dem Panel darstellen, die beim Schalten dann meine PHP-Seite aufrufen. Ich dachte über Datenpunkte, bzw. Alias könnte ich das hinbekommen; aber es sieht so aus, als bräuchte ich echte Geräte, die als Instanz angelegt wurden. Das wiederum kann ich mir nicht vorstellen. Ich hoffe ihr könnt mir einen Tipp geben. Vielen Dank im Voraus.
Gruß Olli -
@olligut Wie sieht denn die php aus?
Auslesen von einem Wert mit simpleApi
->:8082
eigenen simpleApi-Adapter -> :8087$obj = file_get_contents("http://192.168.178.91:8087/getPlainValue/javascript.0.HAUS.PC.SHUTDOWN_PC");
-
@mcu In der php führe ich nur einen Befehl aus, den ich mal gebastelt habe "$output = shell_exec('sudo ./send 11111 3 0');"
Das ist aber ein anderer Raspberry, an dem das 433 Modul hängt.
Was ist denn ein Simple-API?
Mein Problem ist eigentlich, wie ich auf dem Panel einen virtuellen Schalter darstelle, der dann die ein oder andere Webseite aufruft (AN oder AUS). Das Panel kommuniziert ja per mqtt mit dem iobroker. -
@olligut
simpleApi ist nur eine Schnittstelle mit der man per http Daten aus ioBroker holen und senden kann.
Ich habe kein NS Panel, aber man kann dort keine Schalter anlegen und mit DPs verknüpfen?
Du willst doch ein javascript starten mit einem Schalter?
Also so wie ich mit dem NSPanel ein Licht einschalten kann, kann man auch einen anderen DP einschalten?
Was für eine PHP-Seite soll aufgerufen werden? Und soll diese auf dem NS Panel dargestellt werden? -
@mcu Moin, darstellen möchte ich das nicht, sondern nur einmal aufrufen, damit geschaltet wird. SimpleAPI klingt genau danach (dann muss ich auch kein Script starten). Dann such ich mal im NSPanel Forum, wie man so einen virtuellen Schalter erzeugt und damit werde ich versuchen den DP bzw. SimpleAPI zu triggern. Danke für den Hinweis.
-
Würde mich interessieren, mit welcher Firmware du das NSPanel betreibst.
- Original Sonoff oder
- Lovelace UI
Mit der 2. Variante ist das denkbar einfach.
-
@armilar
Hi, ich nutze Lovelace UI und bin einen Schritt weiter!
Ich habe in dem Javascript folgende Zeile in einer Seite (cardGrid) eigefügt:<PageItem>{ id: 'alias.0.NSPanel_1.Stehlampe', name: "Stehlampe" ,icon: "lightbulb", offColor: MSRed, onColor: MSGreen},
Damit sehe ich wie gewünscht ein Lampensymbol auf dem Panel.
Dann habe ich ein Alias (alias.0.NSPanel_1.Stehlampe.ON_SET) angelegt und einen Datenpunkt (0_userdata.0.NSPanel.1.DP_WZ1).
Diesen Datenpunkt frage ich in einem weiteren Script ab und führe meine Befehle für ON und OFF aus. Das klappt jetzt wie gewünscht. Da sich aber die Farbe des Lampensymbols nicht ändert, fürchte ich, dass ich etwas falsch angelegt habe.
In den Anleitungen nutzt man scheinbar immer richtige Geräte, die im IOBroker hinzugefügt wurden, das habe ich aber nicht.
-
SET und ACTUAL sind wichtig beim ALIAS "Licht" oder "Steckdose". Die sollten beide auf deinen Datenpunkt DP_WZ1 zeigen. Dann werden die bestimmt auch aktualisiert.
Der Datenpunkt DP_WZ1 sollte vom Typ boolean sein (kann ich leider nicht in den Bildern sehen), da das Panel true/false sendet.
Der Rest sieht für mich korrekt aus.
Hast du einen ALIAS Dimmer benutzt? Der wäre falsch (Der einzige, den ich kenne der ein ON_SET hat)
P.S.: es müssen keine echten Geräte sein, da das Script vom Panel nur mit virtualisierten Devices arbeitet. Es ist ihm völlig egal, ob das ein echtes Gerät oder ein DP ist.
-
@armilar Hi, ob es ein Dimmer war, weiß ich nicht mehr; ich habe eben mal alles aufgeräumt und neu angelegt.
Klappt jetzt alles, auch mit Statusanzeige. Vielen Dank für den Hinweis mit dem ACTUAL.
Eine kurze Frage habe ich dann noch...
Meine Rollos steuere ich genauso, hätte aber gerne 2 getrennte Tasten für AUF und ZU. Gibt es die Möglichkeit auf dem Panel? Und bräuchte ich dann 4 Datenpunkte?
Vielen Dank -
Eigentlich nur 2 Datenpunkte. Dann würdest du den Button nehmen. Der hat hinten ein "Press" als Text. Kann überschrieben werden mit Hoch oder Runter oder AUF oder ZU, etc.
Bei einem Trigger true (Aktualisierung) kannst du den Status weiterverarbeiten.
-
Du kannst deine Fragen auch bei https://forum.iobroker.net/topic/58170/sonoff-nspanel-mit-lovelace-ui stellen. War letztes mal eher Zufall, dass ich das gefunden habe...
Im NSPanel-Thread sind viel mehr Helfer
Einfach am Ende irgendwo antworten klicken
-
@armilar Werde ich machen; es kommen bestimmt noch ein paar Fragen... Vielen Dank nochmal!
-
Das Skript ist sehr komplex... würde mich wundern wenn nicht
Bin gerade bei der Vorbereitung des neuen Release (v3.7.0). Soviel war noch nie an neuen Features in einem Release. Kommt bestimmt noch vor Weihnachten.