Offiziell ja, aber dank den Jungs hier die Programmieren können, kannste das mit IPS wieder automatisieren.
Dann fehlt mir irgendwo ein Puzzleteil. Ich habe
- Modul Echo Remote 2 installiert
- Echo Remote Instanzen angelegt für Echo dots und Sonos Boxen
- „Variable für eine Aufgabenliste anlegen“ in der Instanz aktiviert
- habe im Skript auch ECHOREMOTE_GetToDos(ID, ‚SHOPPING_ITEM‘, false) ausgeführt
Wie kann ich aber die Liste laden?
Habs hinbekommen.
- Ich lese die EinkaufsListe aus
- finde Änderungen heraus
- sollten Ergänzungen vorgenommen worden sein, werden diese selektiert und eine pushover nachricht an alle gesendet (der Punkt mit 33839)
- stündlich wird die Liste geprüft
Hier der Skript:
// alte Liste holen
$liste_alt = GetValue(25457);
//neue Liste erstellen
$liste_neu = ECHOREMOTE_GetToDos(35191, 'SHOPPING_ITEM', false);
// Array zum Speichern aller 'value'-Werte
$valuesArray = [];
// Durchlaufen jedes Elements im Haupt-Array
foreach ($liste_neu as $item) {
// Überprüfen, ob 'value' im aktuellen Element existiert
if (isset($item['value'])) {
// Fügen Sie den 'value'-Wert dem Array hinzu
$valuesArray[] = $item['value'];
}
}
// Erstellen eines Strings aus dem Array mit Kommas
$valuesList = implode(", ", $valuesArray);
$liste_neu = $valuesList;
// Strings in Arrays umwandeln
$array_neu = explode(", ", $liste_neu);
$array_alt = explode(", ", $liste_alt);
// Finde Unterschiede: Werte in $liste_neu, die nicht in $liste_alt sind
$unterschiede_neu = array_diff($array_neu, $array_alt);
// Erstelle einen kommagetrennten String aus den Unterschieden
$unterschiede_string = implode(", ", $unterschiede_neu);
// Ausgabe der Unterschiede als String
SetValue(35438, $unterschiede_string);
// Überprüfen, ob die Variable leer ist
if (empty($unterschiede_string)) {
echo "Die Variable \$neu ist leer.";
} else {
IPS_RunScript(33839);
SetValue(25457, $liste_neu);
}
echo $unterschiede_string;
Grüße