Anwesenheitssteuerung über Homeputer+iPhone

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

Tobias78
Beiträge: 1464
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 4 Mal

Anwesenheitssteuerung über Homeputer+iPhone

Beitrag von Tobias78 » 11.08.2012, 23:20

Hallo Forum,
natürlich kann man manuell eine Systemvariable auf "Abwesend" setzten, wenn man das Haus verlässt. Dies ist über die Betätigung eines Tasters möglich, aber definitiv nicht "cool"!
Aktuell werden hier im Forum 4 viel versprechende Ansätze diskutiert, welche ich aktuell fast alle auch parallel teste. So richtig überzeugt hat mich als Homeputer Freund bisher keine dieser Varianten.
Kurze Übersicht der Möglichkeiten:
a) WLAN Staus über die Fritzbox abfragen und entsprechende Systemvariablen setzten
=> Nachteil: Die iPhone gehen in unvorhersehbaren Abständen "schlafen" und sind dann auch mal 4h am Stück nicht erreichtbar
b) Zusatz App "zu Hause", die App beschreibt eine abrufbare Website mit 1 oder 0. Dies ist in Homeputer direkt abrufbar.
=> Mein Zu Hause wird in der aktuellen Version nur unzuverlässig erkannt. Könnte sonst ein interessanter Ansatz sein
c) PING "Gerät" der CuXD nutzen
=> Dies scheint sehr zuverlässig zu funktionieren,
d) Zusätzlicher Transponder sendet über CuXD Signal, Skript setzt Systemvariable
=> Teste ich nicht da mir dies zu viel Bastellei ist und auch zu teuer

Ich bin der Meinung, dass es eigentlich noch eine Variante e) geben sollte die sehr einfach ist:
Mit dem Befehl: "Startprogramm()" kann ich doch auch direkt aus Homeputer einen Ping auslösen? Damit könnte ich das Beste von Variante c) ("es funktioniert") doch auch auf Homeputer übertragen?
Leider will es bei mir nicht so recht funktionieren. Die folgende Syntax habe ich getestet:

Code: Alles auswählen

Anweisung := "ping -w 1 -q 192.168.0.60 >>/var/datadisk/PING.txt"
StartProgramm(Anweisung)
Ich hätte jetzt eigentlich eine Datei "PING.txt" mit Inhalt nach dem Ausführen des Makros erwartet. Die Datei wird auch angelegt, hat jedoch keinen Inhalt.
Wo wird denn von STARTPROGRAMM die Antwort landen, wenn man keine Datei angiebt?

PLAN B bzw. c mit Homeputer) CUXD Gerät über GETCCUSYSVAR abzufragen
=> Hab es in der Zwischenzeit selbst rausgefunden:

Code: Alles auswählen

GetCCUSysVar("CUxD_PING_iPhone_Tobi",Text1,"localhost")
liefert: <td><span style='color:green'><b>Erreichbar</b></span></td></tr><tr> als Antwort.
"CUxD_PING_iPhone_Tobi" ist der Name eines meiner PING-Kanäle des CUXD Geräts. Somit kann man über einen kleinen Umweg nun doch CUXD Geräte direkt abfragen!!!

Beste Grüße,
Tobias.

P.S.: Um vom CUXD-PING direkt ein X für Anwesend oder eine 0 für nicht anwesend zu bekommen, verwende ich folgendes Skript:

Code: Alles auswählen

GetCCUSysVar("CUxD_PING_iPhone_Tobi",Text1,"localhost")
Zahl1:=Textlänge(Text1)
Wenn Zahl1<81 dann
   //Wenn erreichbar: 192.168.0.12<td><span style='color:green'><b>Erreichbar</b></span></td></tr><tr> = 80 Zeichen
    iPhone_Tobi:="X"
   sonst
   //Wenn NICHT erreichbar: 192.168.0.41<td><span style='color:red'><b>Nicht<br>erreichbar</b></span></td></tr><tr> = 87 Zeichen
   iPhone_Tobi:="O"
endewenn
Zuletzt geändert von Tobias78 am 16.08.2012, 20:44, insgesamt 1-mal geändert.
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Anwesenheitssteuerung über Homeputer+iPhone

Beitrag von buempi » 12.08.2012, 13:31

Hallo Tobias

Du hast ja jetzt eine Lösung gefunden, die auch noch "ganz nebenbei" für andere CUxD-Geräte verwendet werden kann. Ausserdem ist kein Umweg über eine Datei notwendig. Wenn das schnell und zuverlässig funktioniert, würde ich es der STARTPROGRAMM()-Variante sogar vorziehen.

Für diejenigen, die CUxD nicht auf ihrer CCU installiert haben, hier noch der Grund, warum es mit STARTPROGRAMM() und PING nicht funktioniert hat:

Die Ping-Anweisung auf der CCU scheint den Parameter "-w" nicht zu kennen, weshalb deine Anweisung nur eine Fehlermeldung ausgelöst hat aber keine Ausgabe. Genau wie unter DOS leiten aber offenbar auch unter Linux die >> nur AUSGABE-Anzeigen, nicht FEHLER-Anzeigen in die Datei um, weshalb die Datei zwar angelegt, aber nichts reingeschrieben wurde.

Lässt man den Parameter -w weg, funktioniert es. Die (mit >> umgeleitete) Bildschirmausgabe von PING beinhaltet aber auch Zeilenumbrüche! Diese sind von Homeputer über die Anweisung LESEWERTEDATEI() leider nicht auswertbar, sodass der direkte Weg, die Ping-Ausgabe auszuwerten, leider nicht funktioniert :cry:

Es gibt aber einen Ausweg: Ähnlich wir unter DOS mit "ERRORLEVEL" kann man unter Linux mit "$?" den "Erfolg" der letzten Anweisung abfragen. Wir müssen also eine Linux-"Batch"-Datei anlegen, welche den Ping sendet und nachher den Erfolg in eine über LESEWERTEDATEI() einlesbare Text-Datei schreibt. Hier mein Vorschlag:

Code: Alles auswählen

// Notwendiges Objekt:  MeineAnwesenheit  Typ Zeichen

MeineAnwesenheit := ""

// Alte Dateien löschen
LöscheDatei("PingSenden")
LöscheDatei("PING.txt")

// PING.txt vorbereiten, damit nachher "MeineAnwesenheit=" drin steht, was nach Ergänzung
// der PING-Rückgabe mit LESEWERTEDATEI() gelesen werden kann.
// ACHTUNG: Mit "0" bewirken, dass KEIN Zeilenumbruch am Ende steht!

SchreibeDatei("PING.txt","MeineAnwesenheit=",0)

// "Batch"-Datei auf der CCU erstellen die zunächst einen Ping
// sendet und dann das Ergebnis von "echo $?" an "MeineAnwesenheit=" anhängt
// "echo $?" gibt 0 zurück, wenn der Ping erfolgreich war, sonst 1 oder 2
// Diese Datei müsste natürlich nur 1x erstellt werden und nicht unbedingt
// bei jedem Durchgang gelöscht und neu geschrieben!

SchreibeDatei("PingSenden","#!/bin/sh",1)
SchreibeDatei("PingSenden","ping -c 1 -q 192.168.0.60",1)
SchreibeDatei("PingSenden","echo $? >>/var/datadisk/PING.txt",1)
SchliesseDateien

// Jetzt die "Batch"-Datei starten
StartProgramm("sh /var/datadisk/PingSenden")

// Warten, bis die Ping-Anweisung ausgeführt ist (wenn nicht erreichbar, dauert's länger!):
Nochmals:
LeseWerteDatei("PING.txt")
Wenn MeineAnwesenheit = "" dann
   Warte("00:00:01")
   Gehezu Nochmals
Endewenn

// Wurde Fehlercode 0 zurückgegeben, ist die IP erreichbar:
Wenn MeineAnwesenheit = 0 dann
   MeineAnwesenheit  := "anwesend"
Sonst
   MeineAnwesenheit  := "abwesend"
Endewenn
Viele Grüsse
Bümpi

Tobias78
Beiträge: 1464
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 4 Mal

Re: Anwesenheitssteuerung über Homeputer+iPhone

Beitrag von Tobias78 » 12.08.2012, 14:26

Hallo Bümpi,
wow! Vielen Dank für Deine ausführliche Antwort. Die Erklärung leuchtet ein, macht es aber tatsächlich recht kompliziert. Ich verfeinere momentan daher die Abfrage des CuXD Gerätes. Die iPhone scheinen trotz PING Anfrage die Nacht über zu ruhen.
Momentan setzte ich die Anwesenheit sofort, die Abwesenheit jedoch erst nach dem 15 mal nicht erreichen. Zusätzlich setzte ich zwischen 22:00 und 7:00 und "Anwesend", nicht aber "abwesend", da dies der übliche Fehlerfall ist. Für den Fall das wir das Haus erst nach 22:00 verlassen, funktioniert es halt nicht. Alle anderen Fälle funktionieren. Die Ping Abfrage im CUXD Gerät habe ich von 0 zusätzlich auf 3 erhöht, ich werde berichten ob dies final zum Ziel führt.
Beste Grüße,
Tobias.
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

Goglo
Beiträge: 610
Registriert: 14.04.2012, 18:34
Danksagung erhalten: 1 Mal

Re: Anwesenheitssteuerung über Homeputer+iPhone

Beitrag von Goglo » 12.08.2012, 15:04

buempi hat geschrieben: Die Ping-Anweisung auf der CCU scheint den Parameter "-w" nicht zu kennen, weshalb deine Anweisung nur eine Fehlermeldung ausgelöst hat aber keine Ausgabe.
Anil hat mal eine neuere busybox kompiliert und hier bereitgestellt. Die kann den -w.
buempi hat geschrieben: Genau wie unter DOS leiten aber offenbar auch unter Linux die >> nur AUSGABE-Anzeigen, nicht FEHLER-Anzeigen in die Datei um, weshalb die Datei zwar angelegt, aber nichts reingeschrieben wurde.
Unix ist da ein bisschen besser als DOS: Es existieren zwei Ausgaben: Einmal stdout (Dateideskriptor 1) für die normale Ausgabe und stderr (das ist dann die 2) für die Fehlermeldungen. Wenn man die Fehlermeldung in die Datei bekommen möchte, muss man stderr per "2>>" in die Datei umleiten. Oder man gibt beides zusammen (hier dann ist Datengrab) aus: ">>/dev/null 2>&1"
buempi hat geschrieben: Ähnlich wir unter DOS mit "ERRORLEVEL" kann man unter Linux mit "$?" den "Erfolg" der letzten Anweisung abfragen.
Viel eleganter geht das mit "ping -c 1 a.b.c.d && echo "ist da" " Die Verknüpfung zweier shell-Befehle mit && führt den nächsten nur dann aus, wenn der erste erfolgreich - also mit $? == 0 durchgelaufen ist. (Für den nicht-Erfolgsfall nimmt man ||) Also gibt der Befehl ein "ist da" zurück, wenn der Ping erfolgreich ist. In HM-Script bekommt man von system.Exec() ja stdout und stderr zurück - muss man in Homeputer zwingend über eine Datei gehen? Wenn, ja, dann leitet man die Ausgabe einfach um und erhält so eine Befehlszeile:
sh -c 'echo Anwesenheit=0 >/tmp/ping.txt; ping -c 1 192.168.88.1 >/dev/null && echo Anwesenheit=1 >/tmp/ping.txt'
Zuerst wird die Datei ping.txt mit "Anwesenheit=0" gefüllt. Dann wird ein einzelner Ping (-c 1) abgesetzt, dessen Ausgabe unterdrückt wird. Ist der Returncode 0 - der Host also erreichbar - wird die Datei mit Anwesenheit=1 überschrieben. Bei mir dauert der hauseigene CCU-ping ca. 10 Sekunden, wenn der Host nicht erreichbar ist. Mit dem neuen ping von anil könnte man die Zeit per -w verkürzen.
83 Kanäle in 50 Geräten:
3x HM-LC-Sw1-Pl, 1x HM-WDS10-TH-O, 5x HM-PB-4-WM, 3x HM-PB-2-WM, 3x HM-LC-Dim1T-FM, 2x HM-Sec-SC, 4x HM-Sec-RHS, 5x HM-CC-VD, 4x HM-CC-TC, 5x HM-LC-Sw1-FM, 2x HM-Sec-MDIR, 1x HM-WDS30-T-O, 1x HM-LC-Sw1-Pl-2, 2x HM-PB-2-WM55, 1x HM-LC-Dim1L-CV, 1x HM-CCU-1, 1x HM-PBI-4-FM, 1x HM-LC-Dim1L-Pl-2, 1x HM-LC-Dim1T-CV, 1x HM-LC-Dim1L-Pl, 1x HM-LC-Sw2-FM, 1x HM-LC-Sw1-SM, 1x HM-Sec-WDS

82 Kanäle in 43 Geräten:
1x HM-PB-2-WM, 2x HM-LC-Bl1-FM, 3x HM-LC-Bl1PBU-FM, 3x HM-PB-2-WM55, 2x HM-PB-4-WM, 9x HM-CC-VD, 8x HM-CC-TC, 2x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 1x HM-CCU-1, 1x HM-Sen-MDIR-O, 4x HM-LC-Sw1-FM, 2x HM-SwI-3-FM, 1x HM-LC-Sw4-SM, 1x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-WDS30-T-O

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Anwesenheitssteuerung über Homeputer+iPhone

Beitrag von buempi » 12.08.2012, 16:37

Hallo Goglo

Herzlichen Dank für diese Linux-Nachhilfe!
Goglo hat geschrieben:muss man in Homeputer zwingend über eine Datei gehen?
... ja, leider kann man die Ausgaben von mit STARTPROGRAMM() ausgeführten Linux-Programmen nicht direkt in Homeputer-Variablen übernehmen!
Goglo hat geschrieben:sh -c 'echo Anwesenheit=0 >/tmp/ping.txt; ping -c 1 192.168.88.1 >/dev/null && echo Anwesenheit=1 >/tmp/ping.txt'
... damit habe ich es erfolgreich zum Laufen gekriegt! Dieser Weg hat aber den Nachteil, dass ich in Homeputer nicht feststellen kann, ob jetzt die 0 in der Datei steht, weil der Ping noch nicht fertig abgelaufen ist, oder weil das Gerät nicht geantwortet hat. Ich kann natürlich einfach lange genug warten; eleganter wäre es aber, wenn die Datei erst erstellt würde, wenn Ping erfolgreich oder nicht ausgeführt wurde. Deshalb habe ich damit noch gepröbelt:
Goglo hat geschrieben:Für den nicht-Erfolgsfall nimmt man ||
Wahrscheinlich habe ich dich da aber falsch verstanden, weil diese Anweisung:

Code: Alles auswählen

StartProgramm("sh ping -c 1 192.168.1.1 && echo MeineAnwesenheit=anwesend>/var/datadisk/ping.txt || echo MeineAnwesenheit=abwesend>/var/datadisk/ping.txt")
bringt immer "abwesend"!

Gibt es eine Möglichkeit gewissermassen IF und ELSE in eine Zeile zu packen, wie man das in DOS-Stapelverarbeitungsdateien machen kann?

Viele Grüsse
Bümpi

Goglo
Beiträge: 610
Registriert: 14.04.2012, 18:34
Danksagung erhalten: 1 Mal

Re: Anwesenheitssteuerung über Homeputer+iPhone

Beitrag von Goglo » 12.08.2012, 19:30

Ja, es gibt auch if ... then ... else ... fi. Die && und || sind halt handlicher wenn man Befehle eben hintereinander packt und den nächsten Befehl nur in Abhängigkeit vom vorherigen ausführen will.

So sieht das mit dem richtigen if aus - die ";" sind sehr wichtig:

Code: Alles auswählen

 if ping -c 1 192.168.88.3 >/dev/null; then Anwesenheit=1; else Anwesenheit=0; fi

#
# schöner programmiert können die ; entfallen - sie ersetzen ein newline:
if ping -c 1 192.168.88.3 >/dev/null
then 
  Anwesenheit=1
else
  Anwesenheit=0
fi
Was mich aber überrascht, ist dass Startprogramm() wohl einen neuen Task startet und nicht auf das Ende des gerufenen Programms wartet.
83 Kanäle in 50 Geräten:
3x HM-LC-Sw1-Pl, 1x HM-WDS10-TH-O, 5x HM-PB-4-WM, 3x HM-PB-2-WM, 3x HM-LC-Dim1T-FM, 2x HM-Sec-SC, 4x HM-Sec-RHS, 5x HM-CC-VD, 4x HM-CC-TC, 5x HM-LC-Sw1-FM, 2x HM-Sec-MDIR, 1x HM-WDS30-T-O, 1x HM-LC-Sw1-Pl-2, 2x HM-PB-2-WM55, 1x HM-LC-Dim1L-CV, 1x HM-CCU-1, 1x HM-PBI-4-FM, 1x HM-LC-Dim1L-Pl-2, 1x HM-LC-Dim1T-CV, 1x HM-LC-Dim1L-Pl, 1x HM-LC-Sw2-FM, 1x HM-LC-Sw1-SM, 1x HM-Sec-WDS

82 Kanäle in 43 Geräten:
1x HM-PB-2-WM, 2x HM-LC-Bl1-FM, 3x HM-LC-Bl1PBU-FM, 3x HM-PB-2-WM55, 2x HM-PB-4-WM, 9x HM-CC-VD, 8x HM-CC-TC, 2x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 1x HM-CCU-1, 1x HM-Sen-MDIR-O, 4x HM-LC-Sw1-FM, 2x HM-SwI-3-FM, 1x HM-LC-Sw4-SM, 1x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-WDS30-T-O

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Anwesenheitssteuerung über Homeputer+iPhone

Beitrag von buempi » 12.08.2012, 19:55

Hallo Goglo

SUPER! Funktioniert perfekt. Wird zwar eine etwas lange Kommandozeile aber so geht's:

Code: Alles auswählen

// Notwendiges Objekt:   MeineAnwesenheit   Typ Zeichen
LöscheDatei("PING.txt")
MeineAnwesenheit := ""

StartProgramm("if ping -c 1 192.168.1.1 >/dev/null; then echo MeineAnwesenheit=anwesend >/var/datadisk/ping.txt; else echo MeineAnwesenheit=abwesend >/var/datadisk/ping.txt; fi")

// Warten, bis die Ping-Anweisung ausgeführt ist (wenn nicht erreichbar, dauert's länger!):
Nochmals:
LeseWerteDatei("PING.txt")
Wenn MeineAnwesenheit = "" dann
   Warte("00:00:01")
   Gehezu Nochmals
Endewenn
Am Schluss steht im Objekt MeineAnwesenheit entweder "anwesend" oder "abwesend", je nachdem, ob die angegebene IP erreichbar war oder nicht.
Goglo hat geschrieben:Was mich aber überrascht, ist dass Startprogramm() wohl einen neuen Task startet und nicht auf das Ende des gerufenen Programms wartet
Startprogramm() ist eigentlich nicht für Zwecke gedacht, wie diesen hier. Sonst bestünde ja auch die direkte Möglichkeit, Ergebnisse in eine Variable "zurück zu übernehmen". Man könnte damit z.B. auch einen Backup starten, oder eine Zeitsynchronisation oder irgendwas. Das aufgerufene Programm wird in einem separaten Thread gestartet und Homeputer kümmert sich selbst nicht weiter darum...

Nochmals vielen Dank für deine Hilfe. So wurde aus einem recht komplexen Makro doch eine kurze, übersichtliche Angelegenheit!

Viele Grüsse
Bümpi

Tobias78
Beiträge: 1464
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 4 Mal

Re: Anwesenheitssteuerung über Homeputer+iPhone

Beitrag von Tobias78 » 16.08.2012, 14:51

Hallo Bümpi und Co!
Vielen Dank für die Hilfestellungen. Die Lösung sieht schon sehr gut aus.
Ich würde gern statt einem Gerät insgesamt 11 Geräte überwachen und dafür möglichst immer in die gleiche Datei schreiben.
Grundsätzlich funktioniert dies auch, aber leider werden alle Parameter ohne Zeilenumbruch in eine Zeile geschrieben, so dass der Befehl "Lesewertedatei" nichts mehr damit anfangen kann.

Versucht habe ich die Parameter "\n", zusätzlichen echo Befehl, Echo., Echo.. -> Alles ohne nennenswerten Erfolg.

Hat jemand von Euch einen heißen Tipp, wie man einen Zeilenwechsel in die bereits recht lange Zeile integrieren kann?

Kann es sein, dass der Befehl "Lesewertedatei" keine Unterverzeichnisse akzeptiert? Es würde mich wenig stören, 11 Dateien jeweils zu generieren, aber die sollten nicht auf der Hauptebene liegen. Das Anlegen klappt, Lesewertedatei hingegen nicht. Für "Dateiname" habe ich 1:1 die gleiche Syntax verwendet: "/var/datadisk/Settings/PING.ctr"

Danke und Gruß, Tobias.
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Anwesenheitssteuerung über Homeputer+iPhone

Beitrag von buempi » 16.08.2012, 16:34

Hallo Tobias

Ich kann es im Moment nicht testen, aber ich glaube, die Anweisung LESEWERTEDATEI() unterstützt keine individuellen Pfad-Angaben. - Allenfalls ein Thema für die Updatwünsche...

Es gibt mit Sicherheit eine Möglichkeit, mit einer Linux-Anweisung einen Zeilenumbruch in die Datei zu kriegen. Aber, dass es mit meinen Linux-Kenntnissen nicht weit her ist, beweist wohl dieser Thread :roll:

Ich würde mir damit behelfen, ein

Code: Alles auswählen

Schreibedatei("PING.txt","",1)
Schliessedateien
einzuschieben, welches eigentlich einen Linux-Zeilenvorschub einfügen müsste. - Auch nicht getestet...

Viele Grüsse
Bümpi

Tobias78
Beiträge: 1464
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 4 Mal

Re: Anwesenheitssteuerung über Homeputer+iPhone

Beitrag von Tobias78 » 16.08.2012, 16:42

Hallo Bümpi,
danke für die Bestätigung und den Lösungsvorschlag. Ich habe es mit "2" statt "1" am Ende probiert. Das Problem ist, dass die insgesamt 11 Pings nach jeweils undefinierter Zeit eintreten. Man müsste also mit sehr vielen "warte" Anweisungen immer den Worst-Case Fall versuchen abzufangen.

Davon ab: ich habe den Starteprogramm Befehl mit Variablen kombiniert, womit ich erstmals einen "Loop-of-Death" provoziert habe. Nach jedem Neustart hat sich Homeputer direkt wieder verabschiedet, da das Makro mit ausgeführt wurde.... Sehr gefährlich.

So: hat noch ein Linuxer ne Idee mit dem Zeilenumbruch? Dann könnte ich theoretisch doch auch alle 11 Ping Abfragen in eine Zeile schreiben und somit nur einen Task statt der 11 Einzelne starten?

Gruß, Tobias.
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

Antworten

Zurück zu „homeputer CL“