Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
... Damit zieht man sich die sourcen ... Ich hab auch gerade erfolgreich "linknx" zum laufen gebracht :-) ...
Supi danke, klappt alles wunnebar mit der 3. GA beim Dimmen.
Die neuen Versionen von mh kommen jetzt auch bald dran.
Aber erst freu ich mich mal über das Andimmen mit bestimmten Werten
Mit linknx werd' ich mich auch noch beschäftigen - später.
Ich freu mich gerade erstmal viereckig.
Wenn Du vielleicht Tipps zu 1-Wire und owfs brauchst ...
Grüsse Bodo
Fragen gehören ins Forum, und nicht in mein Postfach;
EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;
Wenn Du vielleicht Tipps zu 1-Wire und owfs brauchst ...
Ja - wenn du Tips hast. Ich will mit 1-wire meine Heizungssteuerung machen. Dazu brauche ich in misterhouse oder linknx natürlich die 1-wire werte um darauf zu reagieren.
owfs läuft bereits - leider habe ich noch keine sensoren (müssten die tage kommen). Im Augenblick habe ich 0 Ahnung wie das gehen soll - mein Plan ist sich anzuschauen wie Wiregate das macht... (später mal).
Wenn du dazu was sagen kannst (oder jemand anderes). Am besten wäre natürlich ein Beispielscode....
... Ja - wenn du Tips hast ... owfs läuft bereits ... Am besten wäre natürlich ein Beispielscode ...
Hi Thorsten
Ui owfs läuft bereits, da hatte ich mir ganz schön die Zähne ausgebissen, bis das lief, Respekt.
Mit PHP hab' ich die Temperaturen schon mal auf meiner Website:
erstmal eine gettemp.php
Code:
<?php
function temperatur($welche) {
// da wo der owfs drauf läuft:3001
$filename="http://******:3001/uncached/".$welche."/temperature12";
$handle=fopen($filename, "r");
$contents=fread($handle, 1000);
fclose ($handle);
// Ausgabe nur die Zahl
if (preg_match("/[0-9]+\.[0-9]+/", $contents, $matches)) {
return $welche.": ".$matches[0];
}
}
?>
Herausforderungen:
1) Die Zeit zwischen kurzem und langem Tastendruck soll variabel sein - misterhouse verarbeitet time_idle z.B. jedoch nur sekundengenau
2) Die (etwas dumme) Applikation des RTR kann zwar die LED entsprechend des Status schalten, aber halt nur für den Status der hinterlegten GA. Aufgabe hier ist es, dass zwar Status von $Objekt3 angezeigt, aber ein anderes Objekt geschaltet wird (wenn durch Drücken und Loslassen der Taste $Objekt3 zweimal getoggelt würde, wäre das nicht tragisch)
Wer hat einen Vorschlag für die entsprechende Misterhouse Logik? (ggf. auch erstmal für den ersten Teil der Fragestellung).
Ich glaube das es nicht sinnvoll ist, so kurze Zeitdifferenzen auf einem externen System sicher zu erfassen, denn der Traffic auf dem BUS, dem LAN oder dem Misterhouserechner könnten das Ergebnis zu stark beeinflussen.
Als Idee könnt man probieren, die Taste so zu parametrisieren, dass meim drücken EIN und beim loslassen AUS gesendet wird.
Dann fragt man in Misterhouse den Status ab und wenn EIN gedrückt wird legt man die Zeit auf eine Variable. Wenn AUS gedrückt wird nimmt man wieder die Zeit und anhand der Zeitdifferenz startet man die gewünschte Funktion. Wenn man Time::HiRes benutzt ist die Auflösung glaube ich fein genug -- aber ob die Kommandos schnell genug ankommen muß man erst probieren.
Ja - wenn du Tips hast. Ich will mit 1-wire meine Heizungssteuerung machen. Dazu brauche ich in misterhouse oder linknx natürlich die 1-wire werte um darauf zu reagieren.
Das kommt mir alles sehr bekannt vor, in genau diese Richtung will ich auch (Wiregate wäre auch schon vorhanden; die Wohnung erst im März, d.h. bis dahin hab ich kaum oder kein KNX am WireGate...)
Mein Ziel, in diese Richtung zu gehen, hab jedoch noch nicht angefangen (die Wand-Schlitze haben einfach gerade eine höhere Prio...). Aber wenn Ihr hier euere Erfahrungen und Hinweise schreibt würde ich mich sehr freuen und gleich produktiver loslegen können
(Genail wäre ein HowTo: MisterHouse oder linknx auf dem WireGate zum laufen bringen, 1wire einlesen und über KNX einen Heizungsaktor passend ansteuern, dazu aktuellen Status per Web anzeigen )
TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!
Das kommt mir alles sehr bekannt vor, in genau diese Richtung will ich auch ... Genail wäre ein HowTo: MisterHouse oder linknx auf dem WireGate zum laufen bringen, 1wire einlesen und über KNX einen Heizungsaktor passend ansteuern, dazu aktuellen Status per Web anzeigen
Hi Chris
Genau an der Aufgabe bin ich dran, aber eben Andere mit mehr Know-how auch. Mein Wissen ist second-hand.
Ich werd' wohl noch einiges lernen müssen. Das Alix1D hab' ich schon zwei mal neu aufgesetzt, und immer wieder mit neueren Versionen...
Die Entwicklung auch hier im Forum ist rasant, und ich blick ehrlich gesagt nimmer durch was aktuell ist. ( Misterhouse, linknx mit knxweb und owfs ( 1-Wire )) Bei mir liegen 50 Temp-Fühler rum und wollen eingebaut werden
Grüsse Bodo
Fragen gehören ins Forum, und nicht in mein Postfach;
EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;
nachdem ich jetzt endlich mal dazu gekommen bin, etwas weiter in Misterhouse einzusteigen stellen sich direkt die ersten Fragen, ich hoffe der Thread paßt.
Bei mir ist MH auch der Grund, mich zum ersten mal mit Perl zu beschäftigen, bislang komme ich in dem Bereich eher aus der Python Ecke... Es könnte also durchaus sein, daß ich eher an der Stelle ein Problem habe.
Also: Ich bin dabei, eine etwas komplexere Logik zum Bewegen meiner Rolläden zu programmieren, dabei möchte ich auch Zeiten, wie sie z.B. von time_add zurück gegeben werden, mit anderen Zeiten vergleichen. Nur habe ich dazu nur die Operatoren zum Stringvergleich wie ge oder lt gefunden. Wenn die Zeiten gleich formatiert sind klappt das ja auch, geht aber gewaltig in die Hose, wenn die gleiche Zeit z.B. ein mal als "07:00" und "7:00" geschrieben wurde, oder "7:00" mit "17:00" verglichen werden soll.
Gibt es da vielleicht eine bessere Methode, die ich noch nicht gefunden habe, sonst muß ich ja erst bei allen Zeiten das Format überprüfen.
Zweite Frage: Ich habe ja in einem anderen Thread von meinem Problem mit dem Hager Dimmaktor geschrieben. Als Folge nimmt MH jetzt an, daß der Aktor ausgeschaltet ist, da er auf dem EIN/AUS Objekt beim Zurücklesen immer eine 0 meldet, nur auf den Rückmeldeobjekten klappt es.
Kann ich MH vielleicht beibringen (ohne gleich die EIB_Items.pm umzukrempeln), daß er einen read request auf einer anderen GA durchführt als das Schreiben eines Wertes? Dann könnte ich die Rückmeldeadresse als zusätzliche hörende Adresse eintragen und MH müßte auf dieser Adresse aktiv zurücklesen.
was willst Du denn eigentlich vor? Ich kann mir grad nicht vorschnellen, warum man bei der Rollladen-Automatik Zeiten vergleichen möchte.
Die Rolläden sollen abhängig vom Sonnenaufgang verfahren werden, daß aber nur innerhalb eines vorgegebenen Zeitfensters, wenn der Sonnenaufgang (plus Offset) außerhalb dieses Fensters liegt, dann an den frühesten bzw. spätesten erlaubten Zeiten.
Dazu kommt noch eine Zufallskomponente, damit sie nicht jeden Tag zur gleichen Zeit fahren, die Funktionalität bietet ja MH schon.
Kann mir gut vorstellen, daß man das in Perl ev. anders lösen würde, in der Sprache hab ich vorher noch nie programmiert. Ich werde mich aber mal mit den passenden Perl Modulen beschäftigen.
# jeden Morgen Rolllaeden EG 1h 10min nach Sonnenaufgang hoch
if (time_now("$Time_Sunrise + 1:10")) {
set $Wohnen_Rollladen UP;
set $Arbeiten_Rollladen UP;
}
# Rolllaeden von Mo-Fr 7:00 Uhr hoch
if (time_cron('0 7 * * 1-5')) {
set $Wohnen_Rollladen UP;
set $Arbeiten_Rollladen UP;
}
Also entweder fahren sie 1:10h nach Sonnenaufgang oder 7:00 hoch. Falls der Sonnenaufgang + Offset nach 7:00 ist und die Rollläden schon oben sind, merkt der Aktor es und macht nichts.
Ich hab in meiner Logik ein paar Sachen kombiniert: Die Rolläden sollen innerhalb eines Zeitfensters zufallsgesteuert gefahren werden, sonst am Rande des Zeitfensters. Dazu möchte ich die Sonnenauf- und untergangszeiten mit dem Fenster vergleichen um dann zu entscheiden, welche der Zeiten ich beim Aufruf von time_random_offset verwende.
Das Zweite ist, daß ich einige Plausibilitätsprüfungen eingebaut habe, um zu verhindern daß die Rolläden z.B. im 1s Takt hoch- und runtergefahren werden, weil ich irgendwo einen Fehler gemacht habe. Vielleicht bin ich da aber auch zu paranoid.
Letztlich suche ich also etwas wie time_greater_than, nur als Vergleich zwischen zwei Parametern und nicht mit der aktuellen Zeit, ich werde mal versuchen das selbst zu realisieren.
Der Ansatz den Rolläden einfach mehrfach einen Hoch- oder Runterfahrbefehl zu geben könnte aber auch funktionieren.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar