eBus Schaltung V2 in Betrieb nehmen

Begonnen von Reinhart, 15 November 2017, 17:41:33

Vorheriges Thema - Nächstes Thema

freetz

...Asche auf mein Haupt! Die (fehlende) Installation des ttyebus-Treibers war mein entscheidender Fehler - ich hatte mich zuerst nur an die Anleitung im Thread "eBus Schaltung in Betrieb nehmen" gehalten, und da ich zuvor schon mal die serielle Konsole deaktiviert hatte, kam es da zu keinen Problemen; dazu funktionierte ja das Lesen der Broadcast-Telegramme. Durch die Anleitung hier am Anfang des Threads habe ich aber nun gesehen, dass das mehr Zufall war. Nun, mit dem ttyebus Treiber klappt die Erkennung und auch ebusctl find gibt nun zumindest bei ein paar Parametern einen Wert aus:
350 ActualPumpPower = no data stored
350 ActualRoomTempDesired = no data stored
350 ActualTempDesired = no data stored
350 ActualWeekday = no data stored
350 BypassValve = no data stored
350 C1C2State = no data stored
350 CirPump = no data stored
350 ClockSwitchSummerWinterDone = no data stored
350 CMResetCnt = no data stored
350 CollPumpHRuntime = no data stored
350 COMErrorCnt = no data stored
350 ComfTempDesired = no data stored
350 ComfTempEnabled = no data stored
350 ControlMode = no data stored
350 Date = no data stored
350 DcfDaten = no data stored
350 DisableAutoSync = no data stored
350 eBUSCRC = no data stored
350 eBUSFifoDiffCntMax = no data stored
350 EDControlEnabled = no data stored
350 EEpromMaxInkonsCnt = no data stored
350 ElectronicCartridge = no data stored
350 FillmodeStartTime = no data stored
350 FlowTempMin = no data stored
350 FrostProtectDelay = no data stored
350 HeatingCurve = no data stored
350 HwcState = no data stored
350 HwcTempDesired = no data stored
350 HydraulicMixer = no data stored
350 HydraulicScheme = no data stored
350 IsInFloorPavingDrying = no data stored
350 IsInHoliday = no data stored
350 IsInParty = no data stored
350 IsInQuickVeto = no data stored
350 IsInSavingsFunction = no data stored
350 IsInSingleHwcLoadingMode = no data stored
350 IsInTeleSwitch = no data stored
350 LegioProtectionEnabled = no data stored
350 LegioProtectionState = no data stored
350 LegioPump = no data stored
350 LoadingDelayEnabled = no data stored
350 LVResetCnt = no data stored
350 NumCollPanels = no data stored
350 OffDiff = no data stored
350 OffsetDesTemp = no data stored
350 ONDiff = no data stored
350 ONMAXDiff = no data stored
350 ONMINDiff = no data stored
350 OperatingMode = no data stored
350 OperatingModeHwc = no data stored
350 OperatingmodeStartTime = no data stored
350 OtShutdownLimit = no data stored
350 OutsideTemp = no data stored
350 OutsideTempOffset = no data stored
350 POCResetCnt = no data stored
350 PrevOperatingMode = no data stored
350 PumpPower = no data stored
350 QuickVetoTemp = no data stored
350 ReducedNightTemp = no data stored
350 ResetOperatingTimes = no data stored
350 ResetYield = no data stored
350 RestoreOpModeAfterHoliday = no data stored
350 resvdColl1Sensor = no data stored
350 resvdColl2Sensor = no data stored
350 resvdCollPump1 = no data stored
350 resvdCollPump2 = no data stored
350 resvdStorage1Sensor = no data stored
350 resvdStorage2Sensor = no data stored
350 resvdStorage3Sensor = no data stored
350 ROCRoomSet = no data stored
350 RoomTemp = no data stored
350 RoomTempOffset = no data stored
350 RoomTempOffsetSelfWarming = no data stored
350 RoomTempSwitchOn = no data stored
350 RTCAdjustment = no data stored
350 SavingsFunctionTime = no data stored
350 SolFlowRate = no data stored
350 SolHwcMaxLoadTemp = no data stored
350 SolPumpBlockingTime = no data stored
350 StackeBUSTaskMax = no data stored
350 StackLifeCheckTaskMax = no data stored
350 StackMainTaskMax = no data stored
350 StartCircuitAeration = no data stored
350 StateOfRoomCon = no data stored
350 StatusDcf = no data stored
350 SwitchOffParty = no data stored
350 TeleSwOperatingMode = no data stored
350 Time = no data stored
350 TimeWindows = no data stored
350 UV1State = no data stored
350 Variant = no data stored
350 VariantDKRefreshCnt = no data stored
350 WDResetCnt = no data stored
350 WeekDayProgSwitch = no data stored
350 YearCalendarActive = no data stored
350 Yield = no data stored
350 YieldSensor = no data stored
350 ZweipunktAnalogSlct = no data stored
bai AATemp = no data stored
bai AccessoriesOne = no data stored
bai AccessoriesTwo = no data stored
bai ACRoomthermostat = no data stored
bai AircontrolOk = no data stored
bai AITemp = no data stored
bai AntiCondensValue = no data stored
bai averageIgnitiontime = no data stored
bai BlockTimeHcMax = no data stored
bai BoilerType2 = no data stored
bai BoilerType = no data stored
bai ChangesDSN = no data stored
bai CirPump = no data stored
bai CounterStartattempts1 = no data stored
bai CounterStartattempts2 = no data stored
bai CounterStartAttempts3 = no data stored
bai currenterror = no data stored
bai DateTime = nosignal;09:26:14;-.-.-;-
bai dcfState = no data stored
bai DCFTimeDate = no data stored
bai DCRoomthermostat = no data stored
bai DeactivationsIFC = no data stored
bai DeactivationsTemplimiter = no data stored
bai DeltaFlowReturnMax = no data stored
bai DisplayMode = no data stored
bai DSN = no data stored
bai DSNOffset = no data stored
bai DSNStart = no data stored
bai EBusHeatcontrol = no data stored
bai EbusSourceOn = no data stored
bai EbusVoltage = no data stored
bai errorhistory = no data stored
bai ExhaustCurve = no data stored
bai exhaustWayBlockCounter = no data stored
bai expertlevel_ReturnTemp = no data stored
bai ExternalFaultmessage = no data stored
bai externalFlowTempDesired = no data stored
bai externalHwcSwitch = no data stored
bai ExternGasvalve = no data stored
bai ExtFlowTempDesiredMin = no data stored
bai extWP = no data stored
bai FanHours = no data stored
bai FanMaxSpeedOperation = no data stored
bai FanMinSpeedOperation = no data stored
bai FanPWMSum = no data stored
bai FanPWMTest = no data stored
bai FanSpeed = no data stored
bai FanStarts = no data stored
bai Flame = no data stored
bai FlameSensingASIC = no data stored
bai FloorHeatingContact = no data stored
bai FlowsetHcMax = no data stored
bai FlowsetHwcMax = no data stored
bai FlowSetPotmeter = no data stored
bai FlowTemp = no data stored
bai FlowTempDesired = no data stored
bai Fluegasvalve = no data stored
bai Gasvalve3UC = no data stored
bai Gasvalve = no data stored
bai GasvalveASICFeedback = no data stored
bai GasvalveUC = no data stored
bai GasvalveUCFeedback = no data stored
bai GVStepOffsetMax = no data stored
bai GVStepOffsetMin = no data stored
bai HcHours = no data stored
bai HcPumpMode = no data stored
bai HcPumpStarts = no data stored
bai HcStarts = no data stored
bai HcUnderHundredStarts = no data stored
bai HeatingSwitch = no data stored
bai HoursTillService = no data stored
bai HwcDemand = no data stored
bai HwcHours = no data stored
bai HwcImpellorSwitch = no data stored
bai HwcPostrunTime = no data stored
bai HwcSetPotmeter = no data stored
bai HwcStarts = no data stored
bai HwcSwitch = no data stored
bai HwcTemp = no data stored
bai HwcTempDesired = no data stored
bai HwcTempMax = no data stored
bai HwcTypes = no data stored
bai HwcUnderHundredStarts = no data stored
bai HwcWaterflow = no data stored
bai HwcWaterflowMax = no data stored
bai Ignitor = no data stored
bai IonisationVoltageLevel = no data stored
bai maintenancedata_HwcTempMax = no data stored
bai maxIgnitiontime = no data stored
bai minIgnitiontime = no data stored
bai ModulationTempDesired = no data stored
bai OutdoorstempSensor = no data stored
bai OverflowCounter = no data stored
bai ParamToken = no data stored
bai PartloadHcKW = no data stored
bai PartloadHwcKW = no data stored
bai PartnumberBox = no data stored
bai PositionValveSet = no data stored
bai PowerValue = no data stored
bai PrAPSCounter = no data stored
bai PrAPSSum = no data stored
bai PredCombustionDecrementTime = no data stored
bai PredCombustionPredCounter = no data stored
bai PredCombustionSwitchingPoint = no data stored
bai PredFanPWMDevThreshold = no data stored
bai PredFanPWMPredCounter = no data stored
bai PredFanPWMRefPWMcounter = no data stored
bai PredFanPWMRefPWMsum = no data stored
bai PredFanPWMSwitchingPoint = no data stored
bai PredIgnitionPredCounter = no data stored
bai PredIgnitionSwitchingPoint = no data stored
bai PredSourcePressureDevThreshold = no data stored
bai PredSourcePressurePredCounter = no data stored
bai PredSourcePressureSwitchingPoint = no data stored
bai PredWaterflowDevThreshold = no data stored
bai PredWaterflowSwitchingPoint = no data stored
bai PredWaterpressureMaxPressure = no data stored
bai PredWaterpressureMinPressure = no data stored
bai PredWaterpressureSwitchingPoint = no data stored
bai PrEnergyCountHc1 = no data stored
bai PrEnergyCountHc2 = no data stored
bai PrEnergyCountHc3 = no data stored
bai PrEnergyCountHwc1 = no data stored
bai PrEnergyCountHwc2 = no data stored
bai PrEnergyCountHwc3 = no data stored
bai PrEnergySumHc1 = no data stored
bai PrEnergySumHc2 = no data stored
bai PrEnergySumHc3 = no data stored
bai PrEnergySumHwc1 = no data stored
bai PrEnergySumHwc2 = no data stored
bai PrEnergySumHwc3 = no data stored
bai PumpHours = no data stored
bai PumpHwcFlowNumber = no data stored
bai PumpHwcFlowSum = no data stored
bai ReduceModulationBlocktime = no data stored
bai RemainingBoilerblocktime = no data stored
bai ReturnRegulation = no data stored
bai ReturnTemp = no data stored
bai ReturnTempMax = no data stored
bai SecondPumpMode = no data stored
bai SerialNumber = no data stored
bai SetFactoryValues = no data stored
bai SetMode = auto;0.0;-;-;1;0;1;0;0;0
bai SHEMaxDeltaHwcFlow = no data stored
bai SHEMaxFlowTemp = no data stored
bai SolPostHeat = no data stored
bai SpecialAdj = no data stored
bai Statenumber = no data stored
bai Status01 = 14.0;14.0;-;-;14.0;off
bai Status02 = auto;60;68.0;70;61.0
bai Status16 = no data stored
bai Status = no data stored
bai Storageloadpump = no data stored
bai StorageLoadPumpHours = no data stored
bai StorageloadPumpStarts = no data stored
bai StorageLoadTimeMax = no data stored
bai StoragereleaseClock = no data stored
bai StorageTemp = no data stored
bai StorageTempDesired = no data stored
bai StorageTempMax = no data stored
bai TargetFanSpeed = no data stored
bai TargetFanSpeedOutput = no data stored
bai TempDiffBlock = no data stored
bai TempDiffFailure = no data stored
bai TempGradientFailure = no data stored
bai Templimiter = no data stored
bai TemplimiterWithNTC = no data stored
bai TempMaxDiffExtTFT = no data stored
bai TimerInputHc = no data stored
bai ValveMode = no data stored
bai ValveStarts = no data stored
bai VolatileLockout = no data stored
bai WarmstartDemand = no data stored
bai WarmstartOffset = no data stored
bai WaterHcFlowMax = no data stored
bai WaterPressure = no data stored
bai WaterpressureBranchControlOff = no data stored
bai WaterpressureMeasureCounter = no data stored
bai WaterpressureVariantSum = no data stored
bai WP = no data stored
bai WPPostrunTime = no data stored
bai WPPWMPower = no data stored
bai WPPWMPowerDia = no data stored
bai WPSecondStage = no data stored
broadcast datetime = no data stored
broadcast error = no data stored
broadcast hwcStatus = no data stored
broadcast id = no data stored
broadcast id = no data stored
broadcast load = no data stored
broadcast outsidetemp = no data stored
broadcast signoflife = no data stored
broadcast vdatetime = 17:08:19;04.01.2010
general valuerange = no data stored
memory eeprom = no data stored
memory ram = no data stored
scan id = no data stored
scan.08  = Vaillant;BAI00;0518;7401
scan.08 id = 21;12;36;0010006110;0001;012873;N3
scan.15  = Vaillant;35000;0109;7102
scan.15 id = 21;12;34;0020124472;0082;006074;N9


Sorry noch mal für die Verwirrung und danke für den Support!
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

pc1246

Moin
Ich stecke derzeit irgendwie fest. Der ebus-Wemos scheint irgendwie seinen Geist aufgegeben zu haben. Die LED blinkt schon ewig nicht mehr.
Nun dachte ich mir, dass ich mal schnell einen neuen flashe. Das mache ich jetzt schon seit Stunden, aber die ESPs (ja ich habe jetzt schon mehrere ausprobiert) melden alle das folgende.
ets Jan  8 2013,rst cause:4, boot mode:(3,7)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v4ceabea9
~ld

Ich habe irgendwie das Gefuehl, dass irgendwas grundsaetzlich falsch ist, aber weiss nicht was. Es lassen sich auch keine anderen sketche auf den Wemos flashen!
Kann mir jemand einen Tipp geben?
Danke und Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

freetz

1. Womit flashst Du? esptool.py? Arduino IDE? xxx? Wenn Arduino IDE, ist es 1.8.x oder höher?
2. Welche Fehlermeldung gibt der Flasher aus? Oder sieht es aus dessen Sicht in Ordnung aus?
3. Ist sichergestellt, dass der WEMOS "nackig" ist beim Flashen? Verschiedene Pins haben während des Flashens besondere Aufgaben bzw. können den Flash-Prozess behindern.
4. Hast Du schon einmal probiert, bis zum Start des eigentlichen Flash-Vorgangs den Reset-Button zu drücken und erst nachdem der Flash-Vorgang gestartet ist, loszulassen (ggf. ersten Timeout abwarten)?
5. Wenn Du versuchst, einen neuen Sketch zu flashen, nimm' einen der Minimal ist (blinkende LED aus den Beispiel-Prgrammen z.B.).

Ansonsten ist Reset Cause 4 der Hinweis darauf, dass der interne Watchdog des ESP zugeschlagen hat, d.h., eine Programmsequenz, die länger als ein paar Sekunden kein yield() oder delay() oder anderweitig die Kontrolle an den ESP zurückgegeben hat. Da wäre besonders Punkt 4 hilfreich, denn ansonsten rebootet sich der ESP ständig, weil er eben immer wieder in dem infinite loop hängen bleibt...
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

pc1246

Moin freetz
Danke fuer Deine Fragen. Ich habe es mit NodeMCU flasher probiert, und mit esptool.py unter Windows. Da ich nur eine bin habe, kann ich mit der Arduino-IDE (Bei mir 1.6.9) nicht flashen.
Die beiden benutzten Programme initiieren den Flashvorgang automatisch, so dass ich nichts gedrueckt habe.
Und ja der Wemos ist nackig, da habe ich nur die Stiftleisten angeloetet. Ich habe dann aber doch etwas funktionierendes geflasht bekommen. (Luftqualitaetssensor)
Der von John30 beschriebene Flashbefehl, im eBusd-Wiki, funktioniert bei mir so nicht mit dem esptool.
Zum NodeMCU flasher fehlt meiner Meinung nach ein Bild, mit den Flasheinstellungen.
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

freetz

Der Flash-Vorgang wird bei allen Flashern automatisch gestartet, nur wenn auf dem ESP ein Programm in einer Endlosschleife läuft, kommt der Flasher nicht "durch", daher der Tipp mit dem Reset-Button drücken. Gibt esptool.py denn eine Fehlermeldung aus, und wenn ja welche?
Eine Fehlermeldung wie z.B.
error: espcomm_open failed
error: espcomm_upload_mem failed

könnte u.a. darauf hindeuten, dass er wegen des ständigen Anschlagen des Watchdogs nicht durchkommt.
Siehst Du beim Flashen das genaue Kommando von esptool.py, also mit den übergebenen Parametern? Dann bitte mal posten.
Zum Vergleich: Bei mir sieht der so aus:
esptool -vv -cd nodemcu -cb 921600 -cp /dev/cu.wchusbserial1420 -ca 0x00000 -cf /Users/frederik/Documents/Arduino/BSB_lan/build/Robotan.ino.bin

Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

pc1246

Moin
Der Flashvorgang laeuft jedesmal komplett durch. Es gibt dementsprechend keine Fehlermeldung.
Wie gesagt, mein esptool frisst diese Befehle "-cp" usw nicht. Ich gebe "--port" ein.
Mit dem automatisch starten meinte ich, dass der Wemos automatisch in den Flashmodus wechselt.
BTW: Der Wemos war Originalverpackt, ist allerdings ein clon!
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

freetz

Ok, wenn der Flash-Vorgang jedes Mal ohne Fehler durchläuft UND der Wemos dann den Watchdog-Fehler als Reset-Cause bringt, wäre eine problematische Binary das einzige, woran Du noch drehen kannst. Du kannst ja alternativ mal probieren, die Binary aus meinem Robotan-Projekt (s. Signatur) zu flashen. Da müsste auf dem seriellen Port (38400,8N1) was kommen. Wenn das klappt, liegt's an Deiner Binary, wenn nicht, ist vermutlich der Wemos platt.

Ich habe für das Projekt zig Clone verwendet und bisher bei keinem Probleme gehabt. Wie sich die Dinger nach Monaten im 24/7-Betrieb verhalten, ist natürlich eine andere Sache. Gelegentliche Resets kenne ich da schon, aber nicht das, was Du beschreibst.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

pc1246

Moin
Ich habe den neuen Wemos jetzt als Schrott abgeschrieben. Es kann wohl auch sein, dass er einen kleineren Speicher hat. Insgesammt habe ich jetzt 2 Tage damit zugebracht, und er funktioniert einfach nicht.
Dennoch bekomme ich auf einem funktionierendem NodeMCU V1.0 das bin vom ebus nicht zum Laufen! Hat das schon einmal jemand gehabt? Ich habe da noch falsch Gelieferte uebrig, und da dachte ich mir ich koennte einen von denen missbrauchen.
Den eigentlich toten Kandidaten konnte ich durch einen Reset neustarten.
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

goosst

Hello again,

My setup is the v2.2 adapter from the forum connected directly over usb to a raspberry pi. I'm overwhelmed with the fhem definitions, attributes, commands, devices, ... :
- Is 98_GAEBUS useful for my purposes? It seems to request ip-addresses and ports, so I don't get it if there is something beneficial for my setup.
- Can somebody please point to some simple examples where I can just read something simple from the ebus and plot it in fhem? something simple as ebusctl read Time and have it displayed ... .

I know perfectly which commands I want to read and write through the ebusctl interface, but I'm lost bringing this into a fhem interface.

thanks!


john30

Zitat von: pc1246 am 19 März 2019, 20:06:54
Moin
Ich habe den neuen Wemos jetzt als Schrott abgeschrieben. Es kann wohl auch sein, dass er einen kleineren Speicher hat. Insgesammt habe ich jetzt 2 Tage damit zugebracht, und er funktioniert einfach nicht.
Dennoch bekomme ich auf einem funktionierendem NodeMCU V1.0 das bin vom ebus nicht zum Laufen! Hat das schon einmal jemand gehabt? Ich habe da noch falsch Gelieferte uebrig, und da dachte ich mir ich koennte einen von denen missbrauchen.
Den eigentlich toten Kandidaten konnte ich durch einen Reset neustarten.
Gruss Christoph
das binary ist explizit für Wemos und sonst nichts, also wundert mich das nicht wirklich.
Wenn du willst, können wir einen Tausch machen, also dein nodemcu gegen einen meiner Wemos, dann schaue ich mal, ob ich ebusd-esp auch auf nodemcu zum Laufen bekomme.
author of ebusd

pc1246

Zitat von: john30 am 01 April 2019, 07:59:07
das binary ist explizit für Wemos und sonst nichts, also wundert mich das nicht wirklich.
Wenn du willst, können wir einen Tausch machen, also dein nodemcu gegen einen meiner Wemos, dann schaue ich mal, ob ich ebusd-esp auch auf nodemcu zum Laufen bekomme.
Moin John
Das ist ein sehr nettes Angebot. Allerdings hatte ich jetzt eigentlich nicht erwartet, dass es einen Unterschied gibt. Denn es wird doch nur die serielle Schnittstelle benutzt!?
Einen NodeMCU kann ich Dir trotzdem gerne schicken, wenn du mir Deine Adresse schickst!
Gruss Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

john30

Zitat von: pc1246 am 01 April 2019, 11:57:39
Das ist ein sehr nettes Angebot. Allerdings hatte ich jetzt eigentlich nicht erwartet, dass es einen Unterschied gibt. Denn es wird doch nur die serielle Schnittstelle benutzt!?
es werden unterschiedliche Chips verwendet und deshalb kann das sehr gut sein, dass bspw. Bootloader oder PIN Zuordnung anders sind.

Zitat von: pc1246 am 01 April 2019, 11:57:39
Einen NodeMCU kann ich Dir trotzdem gerne schicken, wenn du mir Deine Adresse schickst!
ok, weiteres dazu per PM.
author of ebusd

FunkOdyssey

Vielleicht könnt ihr mir helfen. Ich baue gerade meine ebusd-Implementierung auf MQTT2 um und es läuft auch perfekt.

Ich erhalte nur via MQTT2 zusätzlich zum eigentlichen Wert auch alle anderen Parameter (min,max,Default) mitgeliefert.

Beispiel:

Bypassbetrieb: auto;0;2;1;0
Luftmenge:      300;50;400;5;300


Die ebusd-Config sieht wie folgt aus (und sollte auch so bleiben):

r,,Luftmenge,,,,4050,21,aktuell,,UIR,,m³/h,,minimum,,UIR,,m³/h,,maximum,,UIR,,m³/h,,Schrittgroesse,,UIR,,m³/h,,Werkseinstellung,,UIR,,m³/h
r,,Bypassbetrieb,,,,4050,1b,aktuell,,UIR,0=auto;1=geschlossen;2=geoeffnet,,,minimum,,UIR,,,,maximum,,UIR,,,,Schrittgroesse,,UIR,,,,Werkseinstellung,,UIR


In den Readingsgroups machen sich diese - mit Semikolon getrennten - Strings halt nicht so gut.

Ist zufällig bekannt, ob man das direkt im MQTT2-Device loswerden kann?
Vermutlich werden nun userreadings (würden zu viele) oder evtl. sogar readingsChange empfohlen. Doch geht das evtl. sogar direkt über irgendwelche regulären Ausdrücke im MQTT2_Device? RegEx im readingList wären genial, aber vermutlich aktuell nicht möglich, oder?

FunkOdyssey

Bin ich hier im Thread überhaupt richtig?
Ich wollte dies nicht in den Template-Threads zu eBus besprechen.

Frage in kurz: Kann man im readingList-Attribut über irgendwelche Perl- oder RegEx-Ausdrücke einen String (z.B. 300;50;400;5;300) zerlegen und nur den ersten Wert übernehmen?

Reinhart

Hallo!

Du kannst ruhig im Template Thread mitdiskutieren, aber es geht auch hier.
Wenn du MQTT2 einsetzt und "autocreate" auf "complex" hast sollten alle Werte in einem eigenen Reading ankommen, die Semikolon etc. sind da kein Problem. Schau dir dazu einmal die Status readingGroup oder das Status devStateIcon Template an. Beim Status kommen ja die Werte auch durch Semikolon getrennt daher, aber bei MQTT2 wird da für jeden ein eigenes Reading angelegt. Beim Statustemplate habe ich zusätzlich noch mit einem jsonMap sprechende Namen zur Erzeugung der Readings vergeben, so könnte man das bei dir auch in ähnlicher Form durchführen.

Status01_0_value:_Vorlauf
Status01_1_value:_Ruecklauf
Status01_2_value:_Aussentemp
Status01_3_value:_Warmwasser
Status01_4_value:_WWSpeicher
Status01_5_value:_Pumpenstatus
Status02_0_value:_HWCMode
Status02_1_value:_Maximaltemperatur
Status02_2_value:_ReglerMaxTEMP
Status02_3_value:_ReglerCurrentTemp

aus den nicht viel aussagenden StatusValues wird so ein sprechender Name vergeben.


Aber bevor wir uns hier verrennen, wäre ein List vom MQTT2 Device hilfreich, dann schauen wir weiter.  Ein par Bilder und Beispiele habe ich schon ins Wiki gestellt.


Bei den Templates ist es so, dass ich erstmal nur die erstellt habe die auch selbst testen kann. Mann kann die aber leicht erweitern und weitere hinzufügen wenn's jemand testen kann.

LG
Reinhart

FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa