Ich habe in letzter Zeit daran gearbeitet, eine eigene App zu programmieren. Die Hauptaufgabe der App ist es, als einfache Fernbedienung für die IP-Symcon (IPS) Steuerungen zu dienen.
Bisher habe ich diese Aufgabe aus meiner Sicht recht erfolgreich umgesetzt, obwohl sich die App noch in der Entwicklungsphase befindet.
Funktionsweise der App:
Die App sendet über einen HTTP-GET-Befehl Anweisungen an das Webhook von IP-Symcon. Diese Befehle werden von IP-Symcon verarbeitet und ermöglichen die Steuerung verschiedener Funktionen.
App-Struktur und Kosten:
Die Struktur der App ist bewusst einfach gehalten, um sie benutzerfreundlich zu machen. Es entstehen keine laufenden Kosten nach der initialen Einrichtung.
Fragen zur Weiterentwicklung und Veröffentlichung:
Nun stehe ich vor der Entscheidung, ob ich die App veröffentlichen soll, ob eine Erweiterung der Funktionalitäten sinnvoll wäre und ob es angebracht ist, für die App einen kleinen Betrag (zum Beispiel 1,99 €) zu verlangen.
Mich interessiert besonders, ob generell Interesse an einer solchen App besteht. Sie wurde mit Flutter entwickelt, sodass sie sowohl auf Android als auch auf iOS lauffähig ist. Da ich jedoch keinen Mac besitze, würde ich sie zunächst nur Android-Nutzern zur Verfügung stellen.
Ich freue mich auf eure Meinungen und Anregungen!
Stand 05.05.2024
Ich kämpfe derzeit mit der Erstellung eines Moduls. Da die Einrichtung in IPS recht einfach ist, stelle ich bis zur Fertigstellung des Moduls diese Anleitung zur Verfügung.
Erstelle ein PHP-Skript mit folgendem Inhalt:
<?php
if ($_IPS['SENDER'] == "WebHook") {
// Parameter aus der URL abrufen und bereinigen
$user = htmlspecialchars($_GET['user']);
$password = htmlspecialchars($_GET['password']);
$id = intval($_GET['id']); // Stelle sicher, dass $id eine Zahl ist
$function = htmlspecialchars($_GET['function']);
$state = htmlspecialchars($_GET['state']); // Stelle sicher, dass $state für die ZW_SwitchMode Funktion geeignet ist
echo "$id $function $state";
switch ($function) {
case "RequestAction_SWITCH":
RequestAction($id, $state);
echo "device with ID $id wurde auf $state geschaltet";
break;
case "RequestAction_DIMSET":
RequestAction($id, intval($state));
echo "device with ID $id wurde auf $state geschaltet";
break;
case "HM_WriteValueBoolean_STATE":
HM_WriteValueBoolean($data['id'],"STATE", ($data['state']));
echo "HM device with ID $id wurde auf $state geschaltet";
break;
case "HM_WriteValueBoolean_INHIBIT":
HM_WriteValueBoolean($data['id'],"INHIBIT", ($data['state']));
echo "HM device with ID $id wurde auf $state geschaltet";
break;
case "HM_WriteValueFloat_LEVEL":
HM_WriteValueFloat($data['id'],"LEVEL", ($data['state']));
echo "HM device with ID $id wurde auf $state geschaltet";
break;
case "ZW_SwitchMode":
ZW_SwitchMode($id, $state); // Annahme: $state ist korrekt formatiert für diese Funktion
echo "Z-wave gerät mit $id wurde auf $state geschaltet";
break;
case "ZW_DimSet":
ZW_DimSet($id, intval($state)); // Annahme: $state ist korrekt formatiert für diese Funktion
echo "Z-wave gerät mit $id wurde auf $state geschaltet";
break;
default:
echo "diese Funktion -> $function <- ist nicht hinterlegt"; // Verwende $function anstelle von $stringValue
break;
}
}
?>
Unter „Kerninstanzen“ → „WebHook“ füge einen neuen WebHook mit beliebigem Namen hinzu.
Klicke auf das Zahnrad des WebHooks und verknüpfe es mit dem erstellten PHP-Skript.
Beende die Einrichtung in IPS.
In der App:
download unter diesem link:
- Der Benutzername und das Passwort haben noch keine Funktion. (können leer bleiben)
- Die IP-Adresse ist die des Servers.
- Webhook: Der Name des WebHooks.
- Button entsprechend deines Bedarf.
Stand 05.05.2024
Folgende Funktionen werden unterstützt:
ZW_SwitchMode
ZW_DimSet
IPS_RunScript
HM_WriteValueBoolean_STATE
HM_WriteValueBoolean_INHIBIT
HM_WriteValueFloat_LEVEL
Weitere Funktionen folgen wenn bedarf. Die Änderung ist mit einem zusätzlichem Case im PHP Skript so wie einem zusätzlichem eintrag im Array der APP erledigt.
Ich bitte um feedback wie die einrichtung geklappt hat.