Hallo zusammen,
ich stehe vor folgendem Problem:
Ich habe einen Arduino, der Zustände von Schaltern abfragt und auf Anfrage alle Schalterwerte als einen String zurückliefert.
Die Anfrage erfolgt quasi "seriell über IP", d.h. ich habe einen Netzwerkshield mit einem IP-Stack, der Arduino lauscht auf ein einzelnes Zeichen, und wenn das richtige kommt, schickt er die Daten zurück.
Das sieht dann ungefähr so aus:
~# echo z | nc 192.168.1.100 80
Wechselrichter:1 Waschkueche:1 Heizung:2 Garage:1 Haustuer:0
Ich würde jetzt gern diese Werte in FHEM verwenden, zum Einen, um sie anzuzeigen, zum Anderen für Steuerungsaufgaben (Garagentor zu).
Leider sehe ich den Wald vor Bäumen nicht. Ich habe zwar gefunden, daß man ein Shellkommando aus FHEM heraus mit doppelten Anführungszeichen aufrufen kann, aber wie verwendet man die Rückgabewerte? Als Readings eines dummys? Oder irgendwie ganz anders?
Es wäre nett, wenn mich jemand erleuchten könnte.
Vielen Dank und schönen Gruß
Kai
Ein Beispiel:
Um die IP zu lesen (Mac OSX), verwende ich ein Script in 99_myUtils.pm:
# argument: none
# return value: ip
# use {get_ip()}
sub get_ip()
{
my $ip = `curl -s ifconfig.me`; # ` = backticks
return $ip;
}
der Aufruf erfolgt z.B. mit einem notify, der Rückgabewert wird in ip_dummy gespeichert:
define ip notify ip { my $ip =get_ip();; fhem("setstate ip_dummy $ip") }
define ip_dummy dummy
Gruss
flurin