Hallo,
ich habe eine Frage zu meinem Vorhaben. Zur Zeit versuche ich einiges zu programmieren und stoße immer an meine Grenzen. Vermutlich ist das für einen Anfänger auch üblich. Aber ich hoffe mir kann jemand helfen oder den entscheidenden Tipp geben. Ich habe nur die Befürchtung, dass es eine ganz einfache Sache ist, auf die ich selber hätte kommen müssen.
Nun zu meinem Vorhaben: Ich habe eine Homematic CCU (auf einem Raspberry) und FHEM auf einem anderen System laufen. (Warum? - Das hat seine Gründe: FHEM bietet keine Homezone an, und ich habe nichts vergleichbares gefunden)
Jetzt möchte ich von FHEM aus meine Lichter und Heizung steuern.
Mit den Lichtern geht das mit dem Codeschnipsel:
{GetFileFromURL 'http://IP-DER-CCU:8181/fhem2ccu.exe?Status=dom.GetObject("BidCos-RF.JEQ0147350:1.STATE").State(0)'}
oder anstelle der 0 (für off) eine 1 für on.
Ich kann über FHEM einen Zahlenwert senden. Ich stelle in FHEM also 12 ein. Wie kann ich dann mit diesen Zahlenwert mein Homematic Heizungsthermostat stellen?
Hier mein Versuch, der aber nicht funktioniert:
define dy_SZ_Heizung_SliderNOTIFY notify dy_SZ_Heizung_Slider {GetFileFromURL 'http://192.168.78.154:8181/fhem2ccu.exe?Status=dom.GetObject(%22BidCos-RF. MEQ1875143:4.SUBMIT%22).State($EVENT)'}
Wäre toll, wenn mir jemand einen Tipp geben könnte.
Vielen Dank
KBLc
Edit Amenophis86:
Habe Gelöst zusammen geschrieben im Titel.
Frage eines Nicht-CCU-Besitzers: Warum steuerst du die CCU nicht über das Modul HMCCU?
Das sollte einfacher sein, als für jedes Gerät und jede Situation eigene Codes zu definieren.
https://forum.fhem.de/index.php/topic,76390.0.html
Verstehe zwar nicht warum fhem keine Homezone haben soll, aber Du wirst es schon wissen
https://wiki.fhem.de/wiki/Anwesenheitserkennung#Das_GEOFENCY_Modul
Hallo,
ich bin schon einen Schritt weiter:
Im Moment schaut es so aus:define dy_SZ_Heizung_SliderNOTIFY notify dy_SZ_Heizung_Slider:State.* {GetFileFromURL 'http://192.168.78.154:8181/fhem2ccu.exe?Status=dom.GetObject(%22BidCos-RF.MEQ1875143:4.SET_TEMPERATURE%22).State(%22$EVENT%22)'}
Diese Zeile bringt vom Browserfenster aus vollen Erfolg. Die SOLL-Temperatur geht auf 17°C:
http://192.168.78.154:8181/fhem2ccu.exe?Status=dom.GetObject(%22BidCos-RF.MEQ1875143:4.SET_TEMPERATURE%22).State(%221622)
Aber in der CCU bekomme ich kein vernünftiges Ergebnis. Die Soll-Temperatur springt immer auf OFF. Was könnte ich noch versuchen?
Vielen Dank
@Beta-User:
Ich werde den Gedanken nachgehen. Dennoch würde ich gerne den Fehler finden, um zukünftige Projekte besser zu verstehen und deren auftretende Probleme selbst lösen zu können. Aber vielen lieben Dank.
@CoolTux:
Danke für den Link. Der hat mich schon mal ein Riesen Stück vorwärts gebracht.
Kai aus Oberfranken
ZitatDennoch würde ich gerne den Fehler finden, um zukünftige Projekte besser zu verstehen und deren auftretende Probleme selbst lösen zu können.
Finde ich einen guten Ansatz.
Bin hier zwar auch nicht der Experte mit der Escaperei und gehe nachfolgend davon aus, dass der Befehl mit $EVENT nicht funktioniert hat. Dann dürfte das Problem liegt wohl in den "" bzw. ' ' liegen. Werden einzelne Hochkommas genutzt, werden die Variablen nämlich nicht aufgelöst, weil durch diese einfachen Hochkommata alles als Text definiert wird. Daher lieber die doppelten (") verwenden, und dann escapen wie in dem von CoolTux verlinkten Beitrag.
Vielen Dank für die Hinweise. Manchmal steht man einfach auf dem Schlauch. Dankeschön.
Jetzt stehe ich aber schon wieder vor einem Problem:
Ich würde gerne mein Floorplan mit den besagten Slider bestücken. Leider sind die Standartmäsig nicht gerade gut auf grünem Hintergrund zu sehen. Daher würde ich sie gerne einfärben.
Meine Experimente waren bis jetzt echt toll, aber waren für mein Vorhaben völlig unbrauchbar.
Ich habe zwar diese Seite und einige Beträge im Forum gelesen, aber ohne Erfolg. https://wiki.fhem.de/wiki/Balken_%26_Slider (https://wiki.fhem.de/wiki/Balken_%26_Slider)
Wo muss ich denn z.B. das eingeben um einen Erfolg zu sehen?
Auszug aus der angegebenen Web-Adresse:
state:adslider
Vielen lieben Dank.
KBLc
Du hast einen Dummy? Dann in setList vom Dummy rein
Danke für die schnelle Antwort.
Darf ich noch um ein Beispiel bitten? Ich komm irgendwie nicht klar.
Ich hab es jetzt eingetragen, aber dann verschwindet der Balken komplett.
Danke
KBLc
Mach mal bitte ein list.
Also oben in der FHEMWEB Zeile
list DUMMYNAME
eingeben
Hallo,
sorry wir hatten grad große Geburtstagsparty meines Sohnes.
Aber nun das list. (Danke, wieder was dazugelernt. Ich hab alles in den letzten funktionierenden Zustand gebracht.
Internals:
CFGFN ./FHEM/HomeMatic.cfg
NAME Test
NR 143
STATE 30
TYPE dummy
READINGS:
2017-09-23 09:22:34 state 30
Attributes:
fp_Wohnung 470,443,7,Slider,
group Heizungsregelung
room Homematic
setList state:slider,5,0.5,30
stateFormat state
webCmd state
Hier der andere Slider, an dem ich versuchte zu arbeiten.
So geht er, schaut aber immer (auch Floorplan) aus wie vorher.
Internals:
CFGFN ./FHEM/HomeMatic.cfg
NAME dy_SZ_Heizung_Slider
NR 156
STATE 6
TYPE dummy
READINGS:
2017-09-23 10:31:35 state 6
Attributes:
fp_Wohnung 490,122,7,dy_SZ_Heizung_Slider
group Heizungsregelung
readingList 1
room Homematic
setList state:slider,5,0.5,30, width:30,length:200, color1:glossyGreen,borderSize:5,borderRadius:15, borderColor:999999,textSize:10, slider:1,sliderHandleDesign:0,setDevice:mp, setTarget:position,textValue:"",disableNotify:n_position_mp
sortby 01
stateFormat state
webCmd state
Danke für die Hilfe.
KBLc
Also wenn ich das richtig gelesen habe dann
setList state:adslider,5,0.5,30, width:30,length:200, color1:glossyGreen,borderSize:5,borderRadius:15, borderColor:999999,textSize:10, slider:1,sliderHandleDesign:0,setDevice:mp, setTarget:position,textValue:"",disableNotify:n_position_mp
Aber ich glaube für adslider muß noch irgendwas geladen werden. Weiß aber nicht was oder wie.
Ausserdem musst Du noch ein
readingList state
Hallo,
Vielen Dank für die schnelle Antwort. Ich habe versucht es gleich umzusetzen und wollte mit einer positiven Nachricht antworten. Allerdings merke ich, dass ich bei jedem Beitrag so viel dazulerne, das ist echt toll.
Der adslider war der erste den ich in Bunt auf einer Seite als Beispiel gesehen habe. Ich wollte eigentlich nur einen Slider einen "Scrollbalken" zum verstellen der Heizungstemperatur haben.
Dieser Balken soll, wenn möglich aufgefüllt sein. In der Voreinstellung sind diese immer transparent und die grüne Farbe entspricht der Hintergrundfarbe meines Floorplans. Daher sieht man den Slider fast nicht.
Da steht bei mir die Funktionalität im Vordergrund.
Es muss also nicht zwingend der adslider sein. Es kann also auch jeder andere auch sein, Hauptsache ist, man sieht ihn.
Würde es hierzu noch einen Tipp geben?
Vielen Dank.
KBLc
Da müssen wir mal warten. Ich kenne mich da leider nicht so aus mit Widgets
Dennoch vielen lieben Dank wiedermal.
Das war bestimmt nicht das letzte mal, dass du auf meine Fragen triffst. :)
Wie geschrieben, mir helfen die Beiträge auch schon unheimlich weiter.
z.B.: "list"
wirklichen Dank (nicht einfach so hingeschrieben).
KBLc
Hallo,
ich habe nun die Lösung gefunden:
In der zum Floorplan zugewiesenen css Datei (bei mir ist das floorplanstyle.css) kann ich unter
/* detail-selector & slider */
durch einfügen von
background-color:#efefef;
den Slider mit der gewünschten Farbe ausfüllen.
Hier in meinem Beispiel habe ich grau gewählt.
KBLc