Devolo Raumthermostat - LUA

Hi, hab jetzt alle Forumseinträge zum Thema Raumthermostat gelesen und festgestellt das es wohl notwendig ist den eingestellten Wert mit einer LUA Szene dann an die Heizkörperthermostate weiter zu geben. Damit würde dann für eine von mir zu definierende Zeit der Heizplan überschrieben.

Nun scheitere ich daran die am Raumthermostat eingestellte Zieltemperatur auszulesen.

Mit
fibaro:getValue(58, „value“)
bekomme ich die aktuell gemessene Zeit.

In einer Blockszene kann ich auch nur auf die aktuell gemessene Temp abfragen.

Neben der Frage wie der Parameter heisst damit ich die eingestellte Zieltemperatur bekomme wäre ich auch glücklich über eine Hilfe zur Selbsthilfe. Gibt es eine Möglichkeit sich z.b. mit einer LUA Scene alle möglichen Parameter eines Modules ausgeben zu lassen? Wie helft ihr euch in so einem Fall?

Und bei der Gelegenheit noch eine Frage zum Fibaro Raumthermostat (was ich nicht besitze). Ist es da auch so das man die Veränderung mit LUA an die zugeordneten Heizthermostate weiter geben muss? Oder übersteuert der automatisch den Heizplan?

Gruß
knut

Keiner eine Idee? Schon komisch, dann wäre das Raumthermostat ja nur eine Temperaturanzeige…

1 Like

Hallo

Ich benötige auch so etwas.
Ich habe auch schon viel gelesen und auch probiert.
Bis dato ohne Ergebniss.
Jetzt habe ich das mal als Frage an das Fibaro-Forum gestellt.
Schau hier !
Heating plan, room / radiator thermostat - Scenes and Interface - Smart Home Forum by FIBARO
Mal sehen ob da was kommt.

Gruss Frank

Fantastisch formuliert! Schade das noch keiner geantwortet hat…

@knut34
Ja das hatte ich schon mal vorher gefragt bei meinem Alten Gateway (homee).
Auch da hat keiner geantwortet.
Ich vermute mal das es daran liegt das dafür eigentlich ein Regelungsprozess her müsste.
Das müsste LUA eigentlich können.
Ich habe so einen Regler mal in Pascal programmiert da wahr es aber für einen weitaus komplizierteren Vorgang als so eine Einfache Heizungsgeschichte.
Der Regelvorgang kann langsam sein und muss ja auch nicht auf 1% genau sein.
Also das ist eigentlich die Größte Hürde.
Wen ich nur wüsste :

  1. wie ich die Werte aus dem Heizplan bekomme.
  2. die in den Rauthermostaten
  3. Daraus wiederum die Stellgröße bekomme.
  4. Dann in den Danfoss.

Eigentlich muss man da dann nicht viel mehr rumprogrammieren.
Aber dann müsste der Raumthermostat die Regelung übernehmen.
Der ist aber Batteriebetrieben und Rechnen kostet Energie der wird es wohl nicht können.
Also müsste man mit LUA den Heizplan auslesen und den Raumthermowert damit verreichnen um die Stellgröße zu erhalten um diese dann dem oder den Heizkörperthermostat -en zu übergeben.
Hört sich eigentlich Easy an.
Hat aber sehr viele Unbekannte drin.
Wie komme ich an die Werte (das werden sicher einige wissen).
Lassen sich die Danfoss überhaupt so Ansprechen das man denen die Stellgröße vorgibt?
Ich meine mal gelesen zu haben das es da welche gibt aber den Bericht finde ich nicht mehr.
Also viel wenn müsste würde und benötigte.
Wahrscheinlich ist das vielen zu kompliziert (was ich verstehe denn das ist schon was im Eingemachten).
Mal sehen ob da noch was kommt.
Die Bastler im Fibaro-Forum haben das mit Sicherheit gelesen aber warum sich mit beschäftigen wenn man das nicht braucht.
Gruß Frank

Mir würde es schon reichen wenn man die eingestellte Temperatur auslesen könnte und natürlich den Event mitbekommt das sie verstellt wurde… das kann doch nicht so schwer sein!

@Berges01: Hierzu hat sich ja auch im anderen Forum nix mehr getan. Dann scheint es tatsächlich mit dem Devolo Dingen nicht zu gehen???

Kennst du ein anderes Gerät was man nutzen könnte wo ein Benutzer die Temperatur einstellen kann wo man dann drauf reagieren könnte?

Gruß Knut

Hallo @knut34
Tja das ist traurig ich hatte mir da auch mehr von versprochen.
Meine Vermutung ist das man zwar die Temperatur auslesen kann aber diese nicht als Messgröße oder Offset dem Heizungsthermostaten übergeben kann.
Dafür würde ein Stellzyklus von 1min die der HC3 locker schafft sicher ausreichen.
Aber wenn es der Heizungsthermostat nicht her gibt ist man in den Allerwertesten gekniffen.
Ich denke mal das so etwas bei der Planung nicht berücksichtigt wurde oder wir nur mal wieder auf Dumme Ideen gekommen sind.
Wofür das allerdings meine beiden Devolo Raumthermostate noch gut sind ?
Momentan dienen die mir als Raumtemperaturanzeige für die sie aber Sau Teuer sind :rage:
Mann könnte ja auch die Temperatur damit messen, dann den Heizplan anpassen usw.
Das ist mir aber für den Effekt zu viel Gewerke und so belasse ich es dabei obwohl es mir missfällt.
Elegant und Smart ist was anderes aber was solls momentan zwickt es mich woanders beim HC3.
Gute Nacht und Grüße aus dem Sauerland

Guten Morgen, ich habe zwar kein Wandthermostat, aber damals wurde hier mal dikutiert:

Hallo Sven

Das ist Nett von dir.
Aber (Wie immer ein Aber) der steuert den Sollwert und nicht den Istwert.
Was wir suchen ist die Weitergabe des Istwertes und nicht des Sollwertes.
Normalerweise ist es so das ein Heizungsthermostat den Sollwert etweder durch verdrehen des Selbigen oder durch Vorgabe durch Eingabe oder durch ein Smart-Home System bekommt.
Den Istwert holt er sich von einem Eigenen Temperaturmesser oder einer Öldruckdose je nach Ausführung.
Was wir suchen ist eine Möglichkeit den Istwert von einem Raumthermostaten vorzugeben.
Damit ist es möglich von einer Anderen Stelle als direkt am Heizungsthermostaten die Führungsgröße anzugeben.
Das Regeln macht der Heizungsthermostat dann selber.
Die Stellgröße kann man dann vom Smart-Home System über einen Heizplan vorgeben.

Mein Problem :
Ich habe im Bad 2 Radiatoren (Handtuchwürmer) deren Ventil sitzt ca. 20cm über dem Boden.
Wenn ich jetzt 20 Grad von dem Heizplan vorgebe so wird es in dem Badezimmer ca. 26°C warm.
Jetzt könnte ich ja 6°C als Offset vorgeben aber das ist nur eine unschöne Lösung und nicht wirklich funktionell und Smart.
Wenn ich aber die gemessene Temperatur als Istwert dem Regler weitergeben könnte so währe das eine Topp Lösung.
Schau früher gab es so etwas mal !


Warum in Zeiten der Smarten Welt das nicht nachbauen? :smirk:
Gruss Frank

@Berges Dann versuch mal bitte in der Konfiguration Raum http://xxx.xxx.xxx.xxx/app/settings/rooms (xxx =IP Homecenter) den Haupttemperatursensor zu ändern…meine das es so funktionieren müsste.

Damit ändere ich aber nur die Temperaturanzeige des Raumes und nicht den Istwert des Heizungsthermostaten.
Der Heizplan gibt nur den Sollwert an die Heizkörperthermostate weiter (Vorgebe/Stellgröße).
Den Istwert (Führungsgröße) holt sich der Heizungsthermostat aus seinem eigenen Messfühler.
Macht auch Sinn in 90% der Fälle aber wir sind da Pingelig und wollen es genau haben.
Also den Istwert in Kopfhöhe messen z.B.
Aber genau da würde ich den Wert gerne eingeben wollen oder den ID über den ich den Wert messe.
So weit ist das schon sehr Gut.
Gruss Frank

wenn das dann so nicht funktioniert müsstest du ein Fibaro Thermostat holen, da die ja ein Abgesetztes Thermometer haben; so weit ich weiß. Im HC2 hatte ich es damals wie oben beschrieben gemacht. Da hatte ich einen Netatmofühler genutzt, da internen Temperaturfühler von meinen Euronics Thermostaten nicht funktionierten. Da wurde auch über den Heizplan geheizt und die Temperatur vom Raumfühler genutzt

Ja genau da gibt es einen Externen Temperaturfühler.
Der scheint über eine direkte Verbindung oder Assoziation mit dem Heizkörperthermostaten verbunden zu sein.
Ich habe aber hier im Haus schon welche Installiert da ich damals dachte das geht schon, ohne vorher mal genaue zu lesen (Purer Aktionismus), nun habe ich das Dilemma das es „nicht“ geht.
Zumindest nach meiner Jetzigen Info.
Beim „homee“ ging das auch nicht da wurde mit der Vorgabe mehr oder weniger geregelt, also Vorgabe + x°C oder -x°C unschön.
Das in Kombination mit dem Heizplan ist schon eine Herausforderung.
Gruss Frank

Bingo! Also ich hab gerade was gelernt…

Also mein Raumthermostat hat die ID 58. Wenn ich hier den Parameter „value“ abfrage bekomme ich die aktuelle Temperatur. Frage ich „targetLevel“ ab bekomme ich nil zurück. Das Raumthermostat hat aber noch einen zweite ID, bei mir die 59. Und diese gibt sowohl als „value“ als auch beim „targetLevel“ die eingestellt Zieltemperatur zurück!

Das bedeutet das ich damit jetzt meine Thermostate steuern kann!

Frage wäre jetzt, wie lange hält das Thermostat diese Zieltemperatur, wann stellt sie diese automatisch wieder zurück?

Mist, ich hatte direkt geantwortet, dann aber vergessen auf „Antworten“ zu drücken…

Dann war mein Problem ein anderes. Ich hätte gerne für nicht Smarte Anwender eine Möglichkeit manuell die Temperatur im Raum zu ändern. Also den Heizplan temporär zu überschreiben.

Daher war mein Wunsch die Zieltemperatur die man am Raumthermostat einstellen kann abzufragen um dann ggf. für eine gewisse Zeit den Heizplan zu überschreiben!

Und dass würde ich jetzt hinbekommen!

Kann ich eigentlich auch einen Heizplan ändern? Also mit LUA? Dauerhaft?

Ja kann man mit api.get und opi.put.

Schau im Schwagger nach !

Hier mein Eintrag für ID10 !

{
  "id": 10,
  "name": "EG-Küche",
  "active": true,
  "mode": "Schedule",
  "properties": {
    "mode": "Heat",
    "monday": {
      "morning": {
        "hour": 5,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "day": {
        "hour": 9,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "night": {
        "hour": 22,
        "minute": 0,
        "temperatureHeating": 16,
        "temperatureCooling": 20
      }
    },
    "tuesday": {
      "morning": {
        "hour": 5,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "day": {
        "hour": 9,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "night": {
        "hour": 22,
        "minute": 0,
        "temperatureHeating": 16,
        "temperatureCooling": 20
      }
    },
    "wednesday": {
      "morning": {
        "hour": 5,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "day": {
        "hour": 9,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "night": {
        "hour": 22,
        "minute": 0,
        "temperatureHeating": 16,
        "temperatureCooling": 20
      }
    },
    "thursday": {
      "morning": {
        "hour": 5,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "day": {
        "hour": 9,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "night": {
        "hour": 22,
        "minute": 0,
        "temperatureHeating": 16,
        "temperatureCooling": 20
      }
    },
    "friday": {
      "morning": {
        "hour": 5,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "day": {
        "hour": 9,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "night": {
        "hour": 22,
        "minute": 0,
        "temperatureHeating": 16,
        "temperatureCooling": 20
      }
    },
    "saturday": {
      "morning": {
        "hour": 7,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "day": {
        "hour": 9,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "night": {
        "hour": 22,
        "minute": 0,
        "temperatureHeating": 16,
        "temperatureCooling": 20
      }
    },
    "sunday": {
      "morning": {
        "hour": 7,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "day": {
        "hour": 9,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "evening": {
        "hour": 17,
        "minute": 0,
        "temperatureHeating": 21,
        "temperatureCooling": 23
      },
      "night": {
        "hour": 22,
        "minute": 0,
        "temperatureHeating": 16,
        "temperatureCooling": 20
      }
    },
    "handSetPointHeating": 8,
    "handSetPointCooling": 22,
    "handTimestamp": 0,
    "handMode": "Heat",
    "vacationSetPointHeating": 18,
    "vacationSetPointCooling": 26,
    "vacationMode": "Auto",
    "vacationStartTime": 0,
    "vacationEndTime": 0,
    "currentTemperatureHeating": 21,
    "currentTemperatureCooling": 23,
    "currentSetpointTimeStartHour": 9,
    "currentSetpointTimeStartMinute": 0,
    "currentSetpointTimeEndHour": 17,
    "currentSetpointTimeEndMinute": 0,
    "devices": [
      204
    ],
    "incompatibleDevices": [
      204
    ]
  },
  "created": 1609919997,
  "modified": 1609919997
}

Hier der Dazugehörige Eintrag !

Jetzt noch etwas rumprobieren und erledigt !

Wenn ich eine Szene aktivieren oder Deaktivieren möchte mache ich das so !
api.put("/scenes/"…176,{enabled=false})
fibaro.sleep(10000)
api.put("/scenes/"…176,{enabled=true})

So als Basis für deine Versuche gedacht.

Gruss Frank

Sieht super aus! Schwagger??? Hab mal versucht zu googlen… hab ein HC2, geht das auch? Ist das ein neues Tool oder Bestandteil des HC?

Nein das ist der ID58 für die Sollwertvoegabe, den kannst du überschreiben und stellst somit die Temperatur ein auf die der Heizungsthermostat regeln soll also den Sollwert.
Den ID59 kannst du nur auslesen.
Das ist die Führungsgröße dann Regelt der Heizkörperthermostat do lange „auf“ bis er an der Führungsgröße feststellt aha jetzt ist Sollwert = Istwert und ich muss das Ventil „zu“ machen.
(Ist etwas komplizierter aber so besser zu erklähren).
Was ich möchte ist die Führungsgröße also den Gemessenen Temperaturwert von einer Externen Quelle vorgeben.
Ich hoffe du verstehst meine einfache erklährung.
Eine ausführliche Beschreibung einer Regelstrecke PID usw. würde hier zu weit führen.
Gruss Frank