Scripts für Hausautomation

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/scripts-fuer-hausautomation_256112/page_1 - zur Vollversion wechseln!


normahl schrieb am 25.07.2020 um 09:49

Ich nehme an ich bin nicht der Einzige der keine oder kaum Programmierkenntnisse hat.

Wäre doch toll wenn wir hier eine kleine Sammlung schaffen könnten.
Welche scripts habt ihr denn am Laufen bzw selbst porgrammiert?

Ich hab hier eine Taupunktsteuerung per Blockly realisiert.
Ein Sensor im Keller einer draußen, 2 Lüfter.
Glücklich bin ich damit aber noch nicht, tut aber fürs erste was es soll:

click to enlarge

Wenn jemand was besseres mit Lua oder dzvents realisiert hat, wär ich nicht böse über euren code ;)
toll wäre natürlich eine maximale laufzeit, delta des taupunktes zu definieren usw... aber das kenn weder ich noch blockly (glaub ich)


banjoe schrieb am 25.07.2020 um 10:04

@normahl machnoch eine hysterese dazu, damit du ein eventuelles prellen verhindern kannst


normahl schrieb am 25.07.2020 um 10:20

Zitat aus einem Post von banjoe
@normahl machnoch eine hysterese dazu, damit du ein eventuelles prellen verhindern kannst

bitte vergiss nicht das du hier mit jemanden redest der ein kompletter depp ist was das anbelangt. :D
wie realisiere ich das? vorallem wäre für dieses script wohl jede andere sprache besser geeignet...


Viper780 schrieb am 25.07.2020 um 10:50

Einfach Ein- und Ausschalt Schwelle ein wenig auseinander ziehen.

ZB ein bei 66% und aus bei 64% (ca die doppelte Abweichung vom Sensor)

Und jeden schaltvorgang etwas verzögern oder schauen wann der letzte war und min 5min Pause erzwingen. Damit der Lüfter min 5min rennt oder aus ist.

Sonst kanns sein dass er um die Schwelle die ganze Zeit schwankt.


normahl schrieb am 25.07.2020 um 12:21

hier stand blödsinn


Captain Kirk schrieb am 28.07.2020 um 09:04

DIY KNX Geräte

Warum: zum einen sehr teuer (wobei das bei der Anzahl an verbauten Geräten auch nicht mehr ins Gewicht fällt), zum anderen aber die Möglichkeit zu basteln und etwas individuelles zu gestalten. Möglichkeiten gibts unendlich. Man kann quasi alles günstig bauen. Vom BWM bis zum CO2 Sensor.
In meinem Fall ist es eine Statusanzeige:
Und zwar nehme ich einen KNX Busankoppler mit seriellem Interface, eine Arduino Pro Micro und ein paar LEDs. Ziel ist es ein Übersichtsboard zu machen wo ich auf einen Blick (und ohne App) die Stati meiner Ausshülle sehen kann. Sprich ob und welches Fenster bzw. Tür offen ist.
Das Ganze war für mich absolutes Neuland. Also Ardiuno und, abgesehen davon was ich mal vor 100 Jahren in der Schule gemacht hab, Programmierung eigentlich auch. Hat erstaunlicherweise aber auf Anhieb funktioniert :)

Code:
#include <Arduino.h>
#include <KnxTpUart.h>

#define PHYSICAL_ADDRESS "1.1.49"


#define LED1_GROUP_ADDRESS "5/2/22"
#define LED1 2 // Green=HIGH

KnxTpUart knx(&Serial1, PHYSICAL_ADDRESS);


void setup() {
  Serial.begin(9600);

  // LED config
  pinMode(LED1, OUTPUT);
  digitalWrite(LED1, LOW);

  // KNX config
  Serial1.begin(19200, SERIAL_8E1);
  knx.uartReset();
  knx.addListenGroupAddress(LED1_GROUP_ADDRESS);
 }

void maintainKnxSerial() {
  if (Serial1.available() > 0) {
    KnxTpUartSerialEventType eType = knx.serialEvent();
    if (eType == KNX_TELEGRAM) {
      KnxTelegram* telegram = knx.getReceivedTelegram();

      String target =
        String(0 + telegram->getTargetMainGroup()) + "/" +
        String(0 + telegram->getTargetMiddleGroup()) + "/" +
        String(0 + telegram->getTargetSubGroup());

       {
        // Write commands
        if (target == LED1_GROUP_ADDRESS) {
          digitalWrite(LED1, telegram->getBool() ? HIGH : LOW);
        }
      }
    }
  }
}

Die notwendigen Bibliotheken gibts hier: klick

Kurze Erklärung zum Skript selbst:
Dem Busankoppler gibt man eine freie Adresse (1/1/49 bei mir) und die LED hört in dem Bsp. auf den Status einer Tür (5/5/22).
Am Breadboard hab ich das so gemacht, dass ich auf den definierten Ausgang (LED1 2) 2 LEDs mit Vorwiderstand hängen. einmal gegen Plus und einmal gegen Minus. Bei Ausgang High leuchtet somit die grüne und bei Low die Rote LED.

Kleines Problem hab ich hier noch wo mir vielleicht jemand unter die Arme greifen könnte. Und zwar stimmt der Initialstatus nicht. Es scheint als würde beim Verbinden der Ausgang per Standard auf Low gesetzt und nicht eingelesen. Dh erst beim erstmaligen manuellen öffnen/schließen stimmts. Das ist natürlich unschön. Help welcome.


Gegi schrieb am 28.07.2020 um 10:50

Vermutlich sendet dein Tür/Fenster Sensor nur bei Change. Sollte aber am Binäreingang (?) u.U. die Option geben den Status regelmäßig auf den Bus zu senden.


Captain Kirk schrieb am 28.07.2020 um 11:58

Zitat aus einem Post von Gegi
Vermutlich sendet dein Tür/Fenster Sensor nur bei Change. Sollte aber am Binäreingang (?) u.U. die Option geben den Status regelmäßig auf den Bus zu senden.
Stimmt das kann ich sicher in der ets konfigurieren. Check ich gleich am Abend, thx.


Snoop schrieb am 29.07.2020 um 08:01

Genau aus dem Grund bin ich am überlegen, ob ich hier nicht eine Brücke zu MQTT bei unserer KNX Anlage bauen werde. Denn ansonsten glaub ich dass der aktuelle Status eher "zufall" ist bei den meisten Reaktoren nach einem Neustart.


Gegi schrieb am 29.07.2020 um 08:47

Zitat aus einem Post von Snoop
Genau aus dem Grund bin ich am überlegen, ob ich hier nicht eine Brücke zu MQTT bei unserer KNX Anlage bauen werde. Denn ansonsten glaub ich dass der aktuelle Status eher "zufall" ist bei den meisten Reaktoren nach einem Neustart.

Initialstatus sollte konfigurierbar sein.


Snoop schrieb am 30.07.2020 um 07:18

Ich glaube aber, dass der Initialstatus nur dann was bringt, wenn alle aktoren gleich schnell booten und erst den status durchschicken, wenn alle am Netz sind. ALso wie gesagt ich kenne mich noch nicht aus und bekomme das system erst, aber aus meiner sonstigen programmiererfahrung ist ein EventBus halt am geschicktesten, wenn alle akteure von einer zentrale die befehle der reihe nach zugestellt bekommen. In meinem fall denke ich hier vor allem eben an so ein szenario wie es captain kirk vor hat, so dass man zwei verschiedene hausautomatisierungssysteme mit einander verbindet. aber mal gucken. hab ja noch vieeeelll zeit mich damit zu spielen, sobalds mal installiert ist :D


normahl schrieb am 06.01.2021 um 10:31

Ich hab das Setup jetzt von domoticz zu home assistant portiert und soweit läuft es auch.

Würde mir bitte jemand helfen das script vom ersten post in home assistant zu realisieren?


Gegi schrieb am 06.01.2021 um 13:57

Was du in HA brauchst ist eine Automation, da gibts mittlerweile eh auch einen GUI editor.
https://www.home-assistant.io/docs/automation/

Bei Detailfragen oder Problemen einfach Bescheid geben.

Zitat aus einem Post von normahl
Ich hab das Setup jetzt von domoticz zu home assistant portiert und soweit läuft es auch.

Würde mir bitte jemand helfen das script vom ersten post in home assistant zu realisieren?




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2024