Hi Makki,
war auch nicht despektierlich gedacht.
Gruss
Steffen
Ankündigung
Einklappen
Keine Ankündigung bisher.
- √ - Misterhouse und owfs Problem
Einklappen
X
-
So unter uns, die Perl-API ist trotzdem suboptimal
Wenn der owserver steht, bleibt Dir mit OWNet die ganze chose gnadenlos hängen, deswegen verwende ich auch ganz ignorant das externe owget..
Makki
Einen Kommentar schreiben:
-
Gelöst.
Marc Du bist ein Schatz.
Der Link auf den anderen Thread hat zwar nicht mein Problem direkt gelöst. Allerdings hat er mir gezeigt, dass das mit dem owserver->read doch innerhalb von mh funktionieren kann. Das hatte ich nämlich schon mal probiert.
Folgender Code funktioniert jetzt:
[CODE]
use OWNet ;
# noloop=start
my $owserver = OWNet->new('localhost:3030 -C') ;
# noloop=stop
if (new_minute) {
my $hum = $owserver->read('/26.FA65E9000000/humidity');
print_log "Luftfeuchte $hum %";
}
[CODE]
Anscheinend funktioniert das
use Owfs_Item; nicht. Jedenfalls beides in einem Script gibt Blut.
Super !!! Damit kann ich leben.
Gruss
Steffen
Einen Kommentar schreiben:
-
Tja,
Owfs_Item nutze ich nicht, aber thoweiss hat vor den Pfad noch einen "/" gesetzt (wie du auch beim direkten Aufruf von owget '/28.506256020000/temperature'), vielleicht schaust du mal in diesen Beitrag:
https://knx-user-forum.de/knx-eib-fo...laeche-10.html
Einen Kommentar schreiben:
-
- √ - Misterhouse und owfs Problem
Hi,
ich habe mh im Einsatz und möchte nun den eingebauten Support für owfs
verwenden. Also schnell den owfs_port eingetragen und eine kleine Abfrage gebaut. Und ... geht nicht.
Ich erhalte keine Fehlermeldungen, aber eben auch keine Temperaturen. Jetzt könnte ich natürlich die wiregate@makki Methode verwenden, und die Daten per owget über cronjob usw. einlesen, aber ...
Also hier ist mein Beispiel
Auch mit eingeschaltetem Debug bekommt man nicht mehr Infos.Code:use Owfs_Item; my $therm1 = new Owfs_Item ( "28.506256020000"); my $temp; if (new_minute) { $temp = $therm1->get( "temperature"); speak "Aussentemperatur ist $temp Grad Celsius"; print_log "Aussen $temp" ; }
Wenn ich owget verwende geht es ,
Folgendes perl Script klappt das ganze auch nicht...Code:/opt/owfs/bin/owget -s 3030 -C /28.506256020000/temperature
kommt einfach nichts zurück.Code:use strict; use OW OW::init("3030"); my $result = OW::get("28.506256020000/temperature"); printf "result " . $result;
Allerdings bekomme ich bei meinem Script mit
folgende AusgabeCode:use strict; use OW OW::init("3030"); my $result = OW::get("28.506256020000/"); printf "result " . $result ."\n";
Code:result address,alias,crc8,errata/,family,fasttemp,id,locator,power,present,r_address,r_id,r_locator,temperature,temperature10,temperature11,temperature12,temperature9,temphigh,templow,type
HILFE !! Es ist zum, verzweifeln.
Gruss
Steffen


Einen Kommentar schreiben: