Neueste Beiträge

Seiten: [1] 2 3 ... 10
1
Sehr schön. Dann scheinen wir beide ja das Problem gelöst zu haben. Freut mich. Wenn noch was ist einfach melden.
2
Revision 25115: 73_AutoShuttersControl: fix regex to detect position event with dot's

73_AutoShuttersControl: fix regex to detect position event with dot's

Source: Revision 25115: 73_AutoShuttersControl: fix regex to detect position event with dot's
3
Ok, scheint jetzt super zu funktionieren. 'day open', 'night close' machen keine Probleme mehr. Wenn ich manuell auf eine beliebige Position fahre wird die automatische Fahrt (down in meinem Fall) nicht ausgelöst. Wenn ich auf eine bekannte Position fahre (z.B. ASC_Open_Pos) funktioniert die automatische Fahrt. Die gleiche Belegung von Positionen (close und sleep) scheint auch kein Problem mehr zu sein. Und der external Trigger fährt ebenfalls wie gewünscht. Scheint also alles wie gewünscht zu funktionieren. Werde noch weiter ein Auge drauf haben und mich in ein paar Tagen melden.
Ganz nebenbei, bei mir ist es tatsächlich nur die Jalousie mit dieser krummen Bedienung. Alle anderen arbeiten nach Standard. Aber bei der fällt es halt besonders auf weil sie im Wohn-/Essbereich ist  ???
4
Ein weiteres Beispiel es mit pahcolor umzusetzen:

defmod Demo dummy
attr Demo readingList Test
attr Demo room Test
attr Demo setList Test:slider,0,1,100
attr Demo stateFormat { my $s = ReadingsNum($name,"Test",0);;\
my $sc .='#'.substr(Color::pahColor(0,50,100,ReadingsNum($name,"Test",0),0),0,6);;\
"<span style='color:$sc'>$s</span>\
<span style='color:Magenta'>Magenta</span>"}

setstate Demo <span style='color:#06E0FD'>5</span>\
<span style='color:Magenta'>Magenta</span>
setstate Demo 2021-10-24 18:30:28 Test 5

Kann mir aber gut vorstellen das es dafür eine coole DOIF/uiTable Lösung gibt, hab ich mich aber bisher zu wenig mit befasst.
5
Anfängerfragen / Antw:SIGNALduino funktioniert wieder nicht mit Somfy RTS
« Letzter Beitrag von Beta-User am Heute um 18:14:07 »
Frequenz ist etwas zu hoch für somfy, afaik.
6
Sorry für die späte Antwort, hatte gerade alles Mögliche zu deinem ersten Post ausprobiert (eventMap löschen). Das wäre für mich aber keine Option gewesen da ich damit wieder massive Probleme bekommen habe.
Mit dem Patch hat der erste Test schon funktioniert. Das Reading wird korrekt angezeigt, die Fahrt richtig ausgelöst. Werde jetzt noch ein, zwei weitere Test machen und melde mich dann nochmals.
7
Automatisierung / Antw:ASC - neues Attribut ShuttersPlace EG_window
« Letzter Beitrag von CoolTux am Heute um 18:10:39 »
Super, vielen Dank für's testen. Hoffe das passt nun soweit.


Grüße
8
Hard- und Firmware / Antw:senden von Signalen mit dem NanoCC1101
« Letzter Beitrag von tklein am Heute um 18:02:02 »
http://fhem.de/commandref_DE.html#ITclock
Bitte teste es mal mit dem Attribut ITclock 420

Es gibt dafür das Attribut userV1setCodes
http://fhem.de/commandref_DE.html#userV1setCodes

Gruß Ralf

Weder ITclock 420 noch klappen bei mir. Evtl. habe ich jetzt auch zu vel Blödsinn im Device:
CFGFN     
   DEF        1527x9a236 1000 0100 0010
   FUUID      6172cffd-f33f-6c67-b0b9-7487dc18c0661b80
   IODev      SIGNALduino433
   LASTInputDev SIGNALduino433
   MSGCNT     49
   NAME       IT_1527x9a236
   NR         5335
   SIGNALduino433_DMSG i9A2364
   SIGNALduino433_MSGCNT 49
   SIGNALduino433_Protocol_ID 3
   SIGNALduino433_RAWMSG MS;P0=411;P3=-12156;P4=-1224;P5=1225;P6=-419;D=03560404565604560404045604040456560456560404560404;CP=0;SP=3;R=4;O;
   SIGNALduino433_RSSI -72
   SIGNALduino433_TIME 2021-10-23 19:53:10
   STATE      stop
   TYPE       IT
   XMIT       dfdd0d01fd
   XMITdimdown
   XMITdimup  0010
   XMIToff    0100
   XMITon     1000
   CODE:
     1          1527x9a236
   READINGS:
     2021-10-23 17:38:44   IODev           SIGNALduino433
     2021-10-22 16:51:41   protocol        EV1527
     2021-10-24 17:59:02   state           stop
   userV1setCodes:
     hoch       1000
     runter     0010
     stop       0100
Attributes:
   ITclock    420
   alias      Leinwand
   room       IT,ioBroker
   userV1setCodes hoch:1000 runter:0010 stop:0100
   webCmd     on : off : dimup
9
Solaranlagen / PV-Überschussladen via DOIFs und Go-E-Charger
« Letzter Beitrag von Muschelpuster am Heute um 18:01:37 »
Moin zusammen,

Ich will mal meine Regelung zum Solar-Überschussladen mit DOIFs posten. Das ist keine hohe Schule, funktioniert aber.

Ausgangslage:
Meine Solaranlage hat keinen Speicher und nur 4,2kWp. Da unser Auto hauptsächlich halbtags auf Kurzstrecken unterwegs ist bekommt es genug Sonne ab um es primär mit Sonnenstrom zu laden.
Mein E-Zähler hat eine IR-Schnittstelle die ich durch die räumliche Trenung und die Einfachheit mit NodeRed auslese und die Werte per MQTT an FHEM sende. Ursprünglich habe ich das mit dem Volkszähler gemacht, aber NodeRed ist einfach einfacher. Daher nutze ich NodeRed auch dazu Durchschnittswerte des Verbrauchs der ca. letzen 1, 5, 10 und 15 Minuten zu ermitteln und zu senden.
In der Garage hängt mein Go-E und wird über das Go-E-Modul im FHEM ausgelesen und gesteuert.

Funktion:
Ich kann einen Zukaufswert einstellen, da unsere Solaranlage ja nicht so groß ist. Das geht in 1A-Schritten. Der Go-E wird am Laden gehindert, indem die RFID-Autorisierung aktiv ist. Möchte ich manuell laden, dann kann ich einfach den Chip vorhalten oder das Laden über die App starten. Dabei sind alle Solar-Regeln außer Gefecht gesetzt, da diese sehen, dass das Auto trotz Mode RFID lädt. Zur Solarladung wird der Charger auf Mode Open gestellt.

Einschränkungen / offene Punkte:
Derzeit mache ich die Phasenumschaltung manuell. Auch wird die Leistung nach dem Ladestart zumeist erst einmal erhöht, da ich bislang die erste Anpassung der Ladeleistung nicht in Abhängigkeit der Startzeit der Ladung verzögere.
Ich hatte das Ganze ursprünglich in einem DOIF und habe das zur anfänglichen Fehlersuche etwas entzerrt. Jetzt könnte wieder alles in ein DOIF, so ist es aber auch erst einmal ok.

Zählerwerte mit User-Readings Ladesteuerung_Auto_*
defmod MQTT2_node_red_e_zaehler MQTT2_DEVICE node_red_e_zaehler
attr MQTT2_node_red_e_zaehler IODev mqtt_Broker
attr MQTT2_node_red_e_zaehler alias E-Zähler
attr MQTT2_node_red_e_zaehler group E-Zähler
attr MQTT2_node_red_e_zaehler readingList node_red__e_zaehler:e-zaehler\x5cwerte:.* { json2nameValue($EVENT) }
attr MQTT2_node_red_e_zaehler room Energie
attr MQTT2_node_red_e_zaehler stateFormat Einkauf: einkauf_gerundet kWh | Verkauf: verkauf_gerundet kWh | Aktuell: aktuell W
attr MQTT2_node_red_e_zaehler userReadings einkauf_gerundet {int(ReadingsVal("MQTT2_node_red_e_zaehler","einkauf",0)+0.5)},\
verkauf_gerundet {int(ReadingsVal("MQTT2_node_red_e_zaehler","verkauf",0)+0.5)},\
letzte_5min {int(ReadingsVal("MQTT2_node_red_e_zaehler","letzte_5min",0))},\
letzte_10min {int(ReadingsVal("MQTT2_node_red_e_zaehler","letzte_10min",0))},\
letzte_15min {int(ReadingsVal("MQTT2_node_red_e_zaehler","letzte_15min",0))},\
Ladesteuerung_Auto {ReadingsVal("MQTT2_node_red_e_zaehler","aktuell",10000)-ReadingsVal("di_ueberschussladen","Zukauf",0)},\
Ladesteuerung_Auto_05 {int(ReadingsVal("MQTT2_node_red_e_zaehler","letzte_5min",10000))-ReadingsVal("di_ueberschussladen","Zukauf",0)},\
Ladesteuerung_Auto_10 {int(ReadingsVal("MQTT2_node_red_e_zaehler","letzte_10min",10000))-ReadingsVal("di_ueberschussladen","Zukauf",0)},\
Ladesteuerung_Auto_15 {int(ReadingsVal("MQTT2_node_red_e_zaehler","letzte_15min",10000))-ReadingsVal("di_ueberschussladen","Zukauf",0)}
Hier werden aus den gesendeten Werten einige User-Readings unter Beihilfe meines Zukauf-Sliders Zukauf aus dem DOIF di_ueberschussladen genutzt. Diese Werte habe ich in den Zähler ausgelagert, weil sie dann automatisch triggern. Grundsätzlich ziehe ich den Zukaufswert nur vom echten wert ab und kann so das Regelverhalten über oder unter die Nulllinie verschieben.

Ein-/Ausschalten der Ladung:
defmod di_ueberschussladen DOIF ## cmd_1: Starte Ladung wenn genug Überschuss vorhanden ist:\
([MQTT2_node_red_e_zaehler:Ladesteuerung_Auto_15]<-1400 and \
[MQTT2_node_red_e_zaehler:Ladesteuerung_Auto_10]<-1400 and \
[MQTT2_node_red_e_zaehler:Ladesteuerung_Auto_05]<-1400 and \
([myGoE:car_state]==3 or [myGoE:car_state]==4) and\
[myGoE:access_control_state] eq "by_RFID_or_App" and\
[di_schaltsperre:state] ne "cmd_2")\
(set myGoE amp_current 6) (set myGoE allow_charging 1)\
(set myGoE access_control_state access_open)\
(set di_schaltsperre cmd_4)\
DOELSEIF\
## cmd_2: Stoppe Ladung, wenn nicht genug Überschuss vorhanden ist: \
([MQTT2_node_red_e_zaehler:Ladesteuerung_Auto_05]>100 and \
[myGoE:access_control_state] eq "access_open" and\
[myGoE:car_state]==2 and \
[myGoE:amp_current]<7 and\
[myGoE:allow_charging]==1 and\
[di_schaltsperre:state] ne "cmd_4") \
(set myGoE allow_charging 0)\
(set myGoE amp_current 12)\
(set myGoE access_control_state by_RFID_or_App)\
(set di_schaltsperre cmd_2)\
DOELSEIF\
## cmd_3: Breche Timer für Ladestopp ab, wenn Bedingung nicht stabil ist:\
([MQTT2_node_red_e_zaehler:Ladesteuerung_Auto_05]<100 and \
[myGoE:access_control_state] eq "access_open" and\
[myGoE:car_state]==2 and \
[myGoE:amp_current]<7 and\
[myGoE:allow_charging]==1 and\
[di_ueberschussladen:wait_timer]=~"cmd_2") \
()\
DOELSEIF\
## cmd_4: Sperre Wallbox wenn kein Auto angesteckt ist (verhindert automatischen Ladestart beim nächsten Stecken)\
([myGoE:car_state]<2) \
(set myGoE access_control_state by_RFID_or_App)\
(set myGoE amp_current 12)\
(set di_einschaltsperre cmd_1)\

attr di_ueberschussladen alias Auto Start/Stop Ladung
attr di_ueberschussladen devStateIcon disabl.*:general_aus:enable initi.*|cmd.*:general_an:disable .*rro.*:icoTool
attr di_ueberschussladen group Auto
attr di_ueberschussladen readingList Zukauf
attr di_ueberschussladen repeatsame 1:1:0:1
attr di_ueberschussladen room Energie
attr di_ueberschussladen setList Zukauf:slider,-460,230,3680
attr di_ueberschussladen wait 0,2,2:180,2,2,1,1:0:0,2,1
attr di_ueberschussladen webCmd Zukauf
attr di_ueberschussladen webCmdLabel erlaubter Zukauf in W
Hier ist also der oben erwähnte Slider Zukauf zu sehen. Ansonsten gibt es eben den Start und den Stop der Ladung mit etwas Verzögerung dazu und ein Abbruch der Wait-Timer, wenn die Bedingungen nicht stabil gegeben sind. Zudem sieht man, dass ich auf das di_schaltsperre zugreife. Das ist meine 'Eieruhr' um ein zu schnelles Ein- und Ausschalten zu verhinden. Würde ich das hier mit einem Wait-Timer machen, so müsste der immer erst einmal ablaufen, auch wenn die letzte Statusänderung schon lange genug her ist. Daher habe ich das ausgelagert.

Anpassung der Ladeleistung:
defmod di_ueberschussladen_reglung DOIF ## cmd_1: Erhöhe Ladung, wenn genug Überschuss vorhanden ist:\
([MQTT2_node_red_e_zaehler:Ladesteuerung_Auto_05]<-250 and \
[myGoE:access_control_state] eq "access_open" and\
[myGoE:car_state]==2 and \
[myGoE:amp_current]<16 and\
[myGoE:allow_charging]==1)\
(set myGoE amp_current {([myGoE:amp_current]+1)})\
DOELSEIF\
## cmd_2: Breche Timer für Erhöhung der Ladung ab, wenn Bedingung nicht stabil ist:\
([MQTT2_node_red_e_zaehler:Ladesteuerung_Auto_05]>-250 and \
[myGoE:access_control_state] eq "access_open" and\
[di_ueberschussladen_reglung:wait_timer]=~"cmd_1") \
()\
DOELSEIF\
## cmd_3: Reduziere Ladung, wenn nicht genug Überschuss vorhanden ist:\
([MQTT2_node_red_e_zaehler:Ladesteuerung_Auto_05]>50 and \
[myGoE:access_control_state] eq "access_open" and\
[myGoE:car_state]==2 and\
[myGoE:amp_current]>6 and\
[myGoE:allow_charging]==1)\
(set myGoE amp_current {([myGoE:amp_current]-1)})\
DOELSEIF\
## cmd_4: Breche Timer für Reduktion der Ladung ab, wenn Bedingung nicht stabil ist:\
([MQTT2_node_red_e_zaehler:Ladesteuerung_Auto_05]<50 and \
[di_ueberschussladen_reglung:wait_timer]=~"cmd_3") \
()\

attr di_ueberschussladen_reglung alias Auto Regelung Ladeleistung
attr di_ueberschussladen_reglung devStateIcon disabl.*:general_aus:enable initi.*|cmd.*:general_an:disable .*rro.*:icoTool
attr di_ueberschussladen_reglung do always
attr di_ueberschussladen_reglung group Auto
attr di_ueberschussladen_reglung readingList Zukauf
attr di_ueberschussladen_reglung room Energie
attr di_ueberschussladen_reglung wait 120:0:120:0
Wie schon geschrieben kann das auch in die Start- / Stop-Regel mit rein. Mal sehen, ob ich das mal wieder alles zusammen klebe.

Die Eieruhr:
defmod di_schaltsperre DOIF ([di_schaltsperre:state] eq "cmd_2") ()\
DOELSEIF\
([di_schaltsperre:state] eq "cmd_X") ()\
DOELSEIF\
([di_schaltsperre:state] eq "cmd_4") ()\
DOELSEIF\
([di_schaltsperre:state] eq "cmd_Y") ()
attr di_schaltsperre alias Timer Schaltverzögerung
attr di_schaltsperre devStateIcon cmd_2:time_timer:initialize \
disabl.*:general_aus:enable\
initi.*|cmd.*:general_an:disable\
.*rro.*:icoTool
attr di_schaltsperre group Auto
attr di_schaltsperre room Energie
attr di_schaltsperre wait 720:0:720:0
Die Eieruhr wird einfach auf cmd_2 oder cmd_4 gesetzt um sie 'aufzuziehen- damit triggert man sie selber und der Wait-Timer läuft ab und sie 'schaltet um'. Daiman meinte, dass das garnicht geht, hat es jetzt aber 'abgenickt' ;-)

Fehlerabsicherung:
defmod di_ueberschussladen_fehlerabschaltung DOIF ## cmd_1: Stoppe Ladung, falls Abregelung nicht funktioniert:\
([MQTT2_node_red_e_zaehler:Ladesteuerung_Auto_15]>750 and\
[myGoE:access_control_state] eq "access_open" and\
[myGoE:car_state]==2 and \
[myGoE:allow_charging]==1) \
(set myGoE allow_charging 0)\
(set myGoE amp_current 12)\
(set myGoE access_control_state by_RFID_or_App)\
(set di_schaltsperre cmd_2)\
DOELSEIF\
## cmd_2: Reset des DOIF, wenn automatische Ladung startet\
([di_ueberschussladen:state] eq "cmd_1") ()\

attr di_ueberschussladen_fehlerabschaltung alias Laderegelung Auto Fehlerabsicherung
attr di_ueberschussladen_fehlerabschaltung devStateIcon disabl.*:general_aus:enable initi.*|cmd.*:general_an:disable .*rro.*:icoTool
attr di_ueberschussladen_fehlerabschaltung group Auto
attr di_ueberschussladen_fehlerabschaltung room Energie
attr di_ueberschussladen_fehlerabschaltung wait 4500,2,2,1:0
Ich hatte es 2x, dass die Reduzierung der Ladeleistung scheinbar artig ausgeführt wurde, der Charger oder das Modul sich aber nicht darum geschert haben. Daher habe ich diese Fehlerabsicherung eingebaut, die rein grätscht, wenn das mal wieder passieren sollte.


Soweit also der Ausflug in meine bescheidenen Ideen dazu - vielleicht kann der Eine oder Andere ja einige Anregungen für seine eigen Ladereglung gebrauchen. Ud natürlich freue ich mich über Optimierungen ;-)

Niels
10
Automatisierung / ASC - neues Attribut ShuttersPlace EG_window
« Letzter Beitrag von Wolle02 am Heute um 17:55:48 »
Dann mach ich mal von hier aus weiter:
https://forum.fhem.de/index.php/topic,112325.msg1181864.html#msg1181864

Zitat
Ich habe eine neue Version ins SVN geladen. Dort enthalten ist ein neuer Wert für ASC_ShuttersPlace, EG_window. Teste bitte einmal ob das Deine Wünsche erfüllt.

Ich habe das Attribut bei meinen EG Fenstern eingetragen und es scheint zu funktionieren. Bei Roommate absent und geöffnetem Fenster fahren die Rollläden zu bei geschlossenen Fenster bleiben sie oben. Der ExternalTrigger funktioniert auch weiterhin.

TipTop, vielen Dank. Falls mir noch was auffällt, dann melde ich mich nochmal.
 :)
Seiten: [1] 2 3 ... 10