Hallo zusammen,
bin gerade darüber, meine iSpindel (gehört zum Hobby Bier brauen) an IP-Symcon anzubinden.
https://github.com/universam1/iSpindel
Hierzu bekomme ich mittels Server Socket die Daten alle drei Minuten bereit gestellt, das Ergebnis schaut so aus:
https://github.com/universam1/iSpindel/tree/master/tools/generic-TCP
Kann mir jemand einen Tipp geben, wie ich das weiterverarbeiten kann?
Cutter? Register Variable?
Mit diesen Sachen habe ich noch nicht gearbeitet, deshalb fällt mir hier der Start so schwer…
Alternativ könnte ich mir die Daten auch per HTTP POST schicken lassen. Was müsste ich hier beachten?
Danke für eure Hilfe.
Daniel
Mach doch Cutter und RegVar (also dem Cutter folgt eh ne RegVar) 
Im Cutter stellst du die geschweifte Klammer als Anfang und Ende ein und hast somit immer einen ganzen Datensatz und den übergibst Du in der RegVar an ein Script und pflückst dort den String mit explode() auseinander. Trennzeichen sind ja super erkennbar.
Gruß
Jens
Solange da nicht mehr Klammern kommen, ist der Cutter eine gute Idee.
Anstatt explode jedoch $data =json_decode($_IPS[‚VALUE‘], true); nutzen und schon ist in Data ein Array mit allen Werten.
http://php.net/manual/de/function.json-decode.php
Michael
Hallo Michael,
danke, ich werde es mal probieren…
Bei Rückfragen melde ich mich nochmal 
Schöne Grüße
Daniel
Hallo nochmal,
also folgendes habe ich jetzt gemacht:
Cutter angelegt:
Register Variable + Script angelgt:
und mein Script folgend gestartet:
<?
// wenn das Skript von einer RegisterVariable-Instanz aus aufgerufen worden ist
if ($_IPS['SENDER'] == "RegisterVariable")
{
// bereits im Puffer der Instanz vorhandene Daten in $data kopieren
$data = RegVar_GetBuffer($_IPS['INSTANCE']);
$data = json_decode($_IPS['VALUE'], true);
echo $data;
}
?>
Nun meine Frage, wie bekomme ich die Daten jetzt aus der Registervariabel bzw. wie muss das Script weiter gehen?
Gibt es hierzu eine gute Anleitung oder ein gutes Beispiel?
Danke!
Daniel
Getbuffer brauchst du nicht, wenn du den Cutter nutzt.
Mach aus dem Echo Mal ein var_dump($data);
Dann siehst du im Log (Meldungen) deine Daten.
$_IPS[‚VALUE‘] enthält schon die Daten der Registervariable 
Du musst eigentlich nur noch mit SetValue die Werte in eine IPS-Variable schreiben.
SetValue(12345, $data[‚battery‘]);
Michael
Hallo Michael,
nochmal vielen Dank für deine bisherigen Tipps und Hilfen.
Leider zeigt das Var_Dump nun NULL an, meine Variable wird auch mit 0 beschrieben…
Hast du hierzu noch ein Lösung?


Danke!
Grüße
Daniel
Schau bitte mal im Debug der Registervariable nach, ob die Daten vom Cutter dort korrekt ankommen.
Michael
Hier scheinen Daten anzukommen…
Allerdings habe ich aktuell auch das Problem, dass dieses Skript meinem IPS gar nicht gefällt. Kommt jetzt immer früher oder später die altbekannte Meldung:
Dauert keine Minute nach Neustart 
Grüße
Dan
Klar … Oh man, ganz vergessen, der Cutter entfernten ja die Klammern 
Probiere mal
$data =json_decode(’{’.$_IPS[‚VALUE‘].’}’, true);
Michael
Jawoll, jetzt geht es… 
Vielen Dank für deine Mithilfe und Lösungsfindung!
Schönen Abend noch.
Daniel
Hallo,
wie müsste denn der Code aussehen wenn man direkt vom Serversocket zur RegisterVariable geht und den Cutter weg lässt?
Ich komme einfach nicht weiter 
Viele Grüße!
Hi zusammen,
hab jetzt nun auch endlich meine Ispindel und würd die gern einbinden ins Symcon. Gibt’s hierfür auch eine Anleitung bzw. wie oder mit welchen Einstellungen muss ich den Server Socket belegen?
Schönen Gruß
CX