Inputswitch state is deprecated

Moderators: grovkillen, Stuntteam, TD-er

Post Reply
Message
Author
Cdzn
Normal user
Posts: 58
Joined: 06 Oct 2020, 18:15

Inputswitch state is deprecated

#1 Post by Cdzn » 01 Nov 2021, 12:00

Hello there! I have this configuration, and get "Inputswitch state is deprecated" after swithing thermostat . What`s problem here?
Attachments
2021-11-01 175651.jpg
2021-11-01 175651.jpg (244.04 KiB) Viewed 9776 times
2021-11-01 175724.jpg
2021-11-01 175724.jpg (210.47 KiB) Viewed 9776 times
2021-11-01 175742.jpg
2021-11-01 175742.jpg (165.58 KiB) Viewed 9776 times
2021-11-01 175804.jpg
2021-11-01 175804.jpg (56.33 KiB) Viewed 9776 times

TD-er
Core team member
Posts: 8643
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Inputswitch state is deprecated

#2 Post by TD-er » 01 Nov 2021, 13:38

First, you're missing an "endon" in your first rules block.

About inputswitchstate
I don't see it in your posted code/screenshots.
But I do see it in Domoticz MQTT controller code.

I looked at the code, but the only way I can see how this could occur is when there is some on your network is sending with IDX 0.
Still this should not happen and I need to fix it, but can you see if there is some device on your network sending to Domoticz using IDX 0?

Cdzn
Normal user
Posts: 58
Joined: 06 Oct 2020, 18:15

Re: Inputswitch state is deprecated

#3 Post by Cdzn » 01 Nov 2021, 13:47

TD-er wrote: 01 Nov 2021, 13:38 First, you're missing an "endon" in your first rules block.

About inputswitchstate
I don't see it in your posted code/screenshots.
But I do see it in Domoticz MQTT controller code.

I looked at the code, but the only way I can see how this could occur is when there is some on your network is sending with IDX 0.
Still this should not happen and I need to fix it, but can you see if there is some device on your network sending to Domoticz using IDX 0?
I will search. Thanks for endon!

Cdzn
Normal user
Posts: 58
Joined: 06 Oct 2020, 18:15

Re: Inputswitch state is deprecated

#4 Post by Cdzn » 01 Nov 2021, 13:54

TD-er wrote: 01 Nov 2021, 13:38 First, you're missing an "endon" in your first rules block.

About inputswitchstate
I don't see it in your posted code/screenshots.
But I do see it in Domoticz MQTT controller code.

I looked at the code, but the only way I can see how this could occur is when there is some on your network is sending with IDX 0.
Still this should not happen and I need to fix it, but can you see if there is some device on your network sending to Domoticz using IDX 0?
There is no controller with IDX 0 which sending it to domoticz. I have 0 in several controllers but check is deactivate

TD-er
Core team member
Posts: 8643
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Inputswitch state is deprecated

#5 Post by TD-er » 01 Nov 2021, 14:03


Cdzn
Normal user
Posts: 58
Joined: 06 Oct 2020, 18:15

Re: Inputswitch state is deprecated

#6 Post by Cdzn » 01 Nov 2021, 20:18

TD-er wrote: 01 Nov 2021, 14:03 I made an issue for this: https://github.com/letscontrolit/ESPEasy/issues/3829
I found a reason why i get this warning. I have 2 different devices (switch and MQTT Domoticz Helper) with the same idx=1. after removing idx from switch i get no warns! And it does`t matter if check was enable or disable, i`m still getting this error untill removed or set to 0!

Cdzn
Normal user
Posts: 58
Joined: 06 Oct 2020, 18:15

Re: Inputswitch state is deprecated

#7 Post by Cdzn » 04 Nov 2021, 10:59

I made some investigations and I have SonOff TX T3EUC2 flashed by 8285.normal ESPEasy. here is Devices, Rules and logs. If i Touch the button all ok, but if i tryied to switch from domoticz via MQTT i get this error in logs.This is only one way to make SonOff working properly.
Devs.jpg
Devs.jpg (364.08 KiB) Viewed 9682 times
Rules.jpg
Rules.jpg (193.32 KiB) Viewed 9682 times
Logs.jpg
Logs.jpg (308.44 KiB) Viewed 9682 times

User avatar
Ath
Normal user
Posts: 3418
Joined: 10 Jun 2018, 12:06
Location: NL

Re: Inputswitch state is deprecated

#8 Post by Ath » 04 Nov 2021, 12:18

Your rules could be somewhat more efficient:

Code: Select all

on Button1#State do
  gpio,12,!%eventvalue1%
endon
on Button2#State do
  gpio,5,%eventvalue1%
endon
The exclamation mark in front of the first argument to the event (%eventvalue1%) will invert the value (0->1 1->0).

(Edit: Changed %eventvalue1% to all lower-case)
Last edited by Ath on 04 Nov 2021, 15:26, edited 1 time in total.
/Ton (PayPal.me)

Cdzn
Normal user
Posts: 58
Joined: 06 Oct 2020, 18:15

Re: Inputswitch state is deprecated

#9 Post by Cdzn » 04 Nov 2021, 13:19

Ath wrote: 04 Nov 2021, 12:18 Your rules could be somewhat more efficient:

Code: Select all

on Button1#State do
  gpio,12,!%EventValue1%
endon
on Button2#State do
  gpio,5,%EventValue1%
endon
The exclamation mark in front of the first argument to the event (%eventvalue1%) will invert the value (0->1 1->0).
Button does`t reacting.

TD-er
Core team member
Posts: 8643
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Inputswitch state is deprecated

#10 Post by TD-er » 04 Nov 2021, 13:46

Not 100% sure the parsing of %eventvalue is case insensitive, so please try with lower case letters.

Cdzn
Normal user
Posts: 58
Joined: 06 Oct 2020, 18:15

Re: Inputswitch state is deprecated

#11 Post by Cdzn » 04 Nov 2021, 15:21

Ath wrote: 04 Nov 2021, 12:18 Your rules could be somewhat more efficient:

Code: Select all

on Button1#State do
  gpio,12,!%eventvalue1%
endon
on Button2#State do
  gpio,5,%eventvalue1%
endon
The exclamation mark in front of the first argument to the event (%eventvalue1%) will invert the value (0->1 1->0).

(Edit: Changed %eventvalue1% to all lower-case)
TD-er wrote: 04 Nov 2021, 13:46 Not 100% sure the parsing of %eventvalue is case insensitive, so please try with lower case letters.
Yep. THat Works. Thank You Ath and TD-er!
Last edited by Cdzn on 04 Nov 2021, 16:09, edited 1 time in total.

User avatar
Ath
Normal user
Posts: 3418
Joined: 10 Jun 2018, 12:06
Location: NL

Re: Inputswitch state is deprecated

#12 Post by Ath » 04 Nov 2021, 15:28

I edited my code to be lowercase, @Cdzn you might want to edit your quote as well, as you won't be able to change that in a couple of days (forum policy to avoid spammers changing their fake replies).
/Ton (PayPal.me)

hestia
Normal user
Posts: 90
Joined: 06 Mar 2021, 08:27
Location: Paris

Re: Inputswitch state is deprecated

#13 Post by hestia » 07 Nov 2021, 18:14

Hi,
I've got the same message

Code: Select all

inputswitchstate is deprecatedinputSwitchState
and I'm not sure I understood if there was a resolution there
This is very serious because when it happened all the valves and the pump for the garden watering are switched on :-(
Strangely it happens when I change the heater off my house!!!
I could not find yet what was in the common point (except: dz, LAN...)
The log

Code: Select all

78786630: EVENT: Rules#Timer=6,1
78786857: ACT  : Publish domoticz/in,'{'idx':1907,'nvalue':1,'svalue':'OK'}'
78786859: Command: Publish
78786860: Publish: domoticz/in{'idx':1907,'nvalue':1,'svalue':'OK'}
78786875: ACT  : TimerSet,6,60
78786876: Command: TimerSet
78790160: EVENT: Rules#Timer=4,1
78790209: ACT  : timerSet,4,5
78790210: Command: timerSet
78790213: ACT  : gpio,13,0
78790214: Command: gpio
78790215: GPIO : port#13: set to 0
78794995: Command: inputSwitchState
78795000: inputswitchstate is deprecatedinputSwitchState,3,0.00
78795003: Command: inputSwitchState
78795008: inputswitchstate is deprecatedinputSwitchState,4,0.00
78795011: Command: inputSwitchState
78795016: inputswitchstate is deprecatedinputSwitchState,5,0.00
78795019: Command: inputSwitchState
78795024: inputswitchstate is deprecatedinputSwitchState,6,0.00
78795027: Command: inputSwitchState
78795032: inputswitchstate is deprecatedinputSwitchState,7,0.00
78795042: EVENT: Button1#State=1
78795286: ACT  : Event,HandleButton=1,12,13
78795287: Command: Event
78795288: EVENT: HandleButton=1,12,13
78795653: ACT  : AsyncEvent,OnOffRelay=1,0,13,1
78795654: Command: AsyncEvent
78795658: ACT  : TimerSet,6,15
78795659: Command: TimerSet
78795663: ACT  : TimerSet,7,1800
78795663: Command: TimerSet
78795667: ACT  : Let,7,1
78795668: Command: Let
78795672: ACT  : TimerSet,8,1200
78795673: Command: TimerSet
78795677: ACT  : Let,8,1
78795677: Command: Let
78795682: ACT  : Let,1,2
78795683: Command: Let
78796764: ACT  : AsyncEvent,OnOffRelay=2,0,14,1
78796765: Command: AsyncEvent
78796769: ACT  : TimerSet,6,15
78796770: Command: TimerSet
78796773: ACT  : TimerSet,7,1800
78796774: Command: TimerSet
78796777: ACT  : Let,7,1
78796778: Command: Let
78796781: ACT  : TimerSet,8,1200
78796782: Command: TimerSet
78796785: ACT  : Let,8,1
78796786: Command: Let
78796790: ACT  : Let,2,2
78796791: Command: Let
78797300: EVENT: Rules#Timer=4,1
78797358: ACT  : timerSet,4,5
78797359: Command: timerSet
78797362: ACT  : gpio,13,0
78797363: Command: gpio
78797364: GPIO : port#13: set to 0
78797837: EVENT: Button3#State=0
78798090: ACT  : Event,HandleButton=3,4,15
78798091: Command: Event
78798092: EVENT: HandleButton=3,4,15
78798449: Command: AsyncEvent
78798454: ACT  : TimerSet,6,15
78798455: Command: TimerSet
78798458: ACT  : TimerSet,7,1800
78798459: Command: TimerSet
78798462: ACT  : Let,7,1
78798463: Command: Let
78798466: ACT  : TimerSet,8,1200
78798467: Command: TimerSet
78798470: ACT  : Let,8,1
78798471: Command: Let
78798475: ACT  : Let,3,2
78798476: Command: Let
78798932: EVENT: Button4#State=1
78799310: ACT  : gpio,15,=!1
78799312: Command: gpio
78799313: GPIO : port#15: set to 0
78799317: ACT  : Let,4,2
78799317: Command: Let
78799321: ACT  : TimerSet,9,3
78799322: Command: TimerSet
78799521: EVENT: Relay1#State=0
78800045: EVENT: Relay2#State=0
78800542: EVENT: Relay3#State=0
78801067: EVENT: Relay4#State=0
78801440: ACT  : AsyncEvent,StopRelay123
78801441: Command: AsyncEvent
78801466: ACT  : Publish domoticz/in,'{'command': 'customevent', 'event': 'aquaOnOffPump', 'data': 0}'
78801469: Command: Publish
78801470: Publish: domoticz/in{'command': 'customevent', 'event': 'aquaOnOffPump', 'data': 0}
78801600: EVENT: OnOffRelay=1,0,13,1
78801949: ACT  : Let,5,(0-1)
78801950: Command: Let
78801957: ACT  : Publish domoticz/in,'{'command': 'setuservariable', 'idx': 13, 'value': -1}'
78801960: Command: Publish
78801961: Publish: domoticz/in{'command': 'setuservariable', 'idx': 13, 'value': -1}
78801975: ACT  : TaskValueSet 9,1,-1
78801976: Command: TaskValueSet
78801980: ACT  : Let,5,abs(-1)*60
78801981: Command: Let
78801986: ACT  : TimerSet,1,60
78801987: Command: TimerSet
78802166: EVENT: Relay1#State=1
78802702: EVENT: Relay4#State=1
78803096: ACT  : AsyncEvent,StopRelay123
78803097: Command: AsyncEvent
78803122: ACT  : Publish domoticz/in,'{'command': 'customevent', 'event': 'aquaOnOffPump', 'data': 0}'
78803124: Command: Publish
78803125: Publish: domoticz/in{'command': 'customevent', 'event': 'aquaOnOffPump', 'data': 0}
78803246: EVENT: Rules#Timer=9,1
78803590: ACT  : Let,4,1
78803591: Command: Let
78803730: EVENT: Rules#Timer=4,1
78803781: ACT  : timerSet,4,5
78803781: Command: timerSet
78803785: ACT  : gpio,13,0
78803786: Command: gpio
78803787: GPIO : port#13: set to 0
78804294: EVENT: OnOffRelay=2,0,14,1
78804638: ACT  : Let,5,(0-1)
78804639: Command: Let
78804646: ACT  : Publish domoticz/in,'{'command': 'setuservariable', 'idx': 14, 'value': -1}'
78804649: Command: Publish
78804650: Publish: domoticz/in{'command': 'setuservariable', 'idx': 14, 'value': -1}
78804664: ACT  : TaskValueSet 9,2,-1
78804665: Command: TaskValueSet
78804670: ACT  : Let,5,abs(-1)*60
78804671: Command: Let
78804676: ACT  : TimerSet,2,60
78804677: Command: TimerSet
78804853: EVENT: Relay2#State=1
78805360: EVENT: OnOffRelay=3,0,15,1
78805714: ACT  : Let,5,(0-1)
78805716: Command: Let
78805724: ACT  : Publish domoticz/in,'{'command': 'setuservariable', 'idx': 15, 'value': -1}'
78805726: Command: Publish
78805727: Publish: domoticz/in{'command': 'setuservariable', 'idx': 15, 'value': -1}
78805741: ACT  : TaskValueSet 9,3,-1
78805742: Command: TaskValueSet
78805747: ACT  : Let,5,abs(-1)*60
78805748: Command: Let
78805753: ACT  : TimerSet,3,60
78805754: Command: TimerSet
78805936: EVENT: Relay3#State=1
The rules

Code: Select all

on Rules#Timer=4 do // status LED

	if %iswifi% <7 do // wifi KO
		timerSet,4,1
		pulse,13,0,250
		pulse,13,1,250
		LongPulse_ms,13,0,250
		
	elseif [Indicators#Heartbeat]=0 do // no heartbeat
		timerSet,4,1
		LongPulse_ms,13,1,500

	elseif [AquaIndicators#TankLevelLow]=1 do // level Low
		timerSet,4,2
		LongPulse_ms,13,0,1300

	else
		timerSet,4,5
		gpio,13,0 // OK
	endif
endon

on AquaIndicators#TankLevelLow do // info from aquaMeter regarding the tank level		 
	TaskValueSet 11,1,1 // KNOWN
	TimerSet,5,180 // heartbeat
endon

on Rules#Timer=1 do
	AsyncEvent,HandleRemainingTime=1,12,13
endon

on Rules#Timer=2 do
	AsyncEvent,HandleRemainingTime=2,5,14
endon

on Rules#Timer=3 do
	AsyncEvent,HandleRemainingTime=3,4,15
endon

on HandleRemainingTime do  // relay, gpio, idx // calculate remaining time and publish to Dz
	if [Durations#Relay%eventvalue1%]!=0
		if [Durations#Relay%eventvalue1%]>60
			Let,5,[Durations#Relay%eventvalue1%]-60
			if [INT#5]>60
				TimerSet,%eventvalue1%,60
			else
				TimerSet,%eventvalue1%,[INT#5]
			endif
		else
			Let,5,0
			gpio,%eventvalue2%,0
			TimerSet,%eventvalue1%,0
		endif
		Publish domoticz/in,'{"command": "setuservariable", "idx": %eventvalue3%, "value": [INT#5]}'
		TaskValueSet 9,%eventvalue1%,[INT#5] // update w remaining time
	endif
endon

on DzTime1 do // event from Dz w the duration
	AsyncEvent,SetDzTime=1,12,13,%eventvalue%
endon

on DzTime2 do
	AsyncEvent,SetDzTime=2,5,14,%eventvalue%
endon

on DzTime3 do
	AsyncEvent,SetDzTime=3,4,15,%eventvalue%
endon

on SetDzTime do // relay, gpio, idx, duration // set timer w the duration from Dz and publish to Dz
	if %eventvalue4%<1800
		Let,9,%eventvalue4%
	else
		Publish domoticz/in,'{"idx":1907,"nvalue":4,"svalue":"Duration for Relay%eventvalue1% from Dz too big: %eventvalue4%"}'	
		Let,9,60
	endif
	if [Relay%eventvalue1%#State]=0 and %eventvalue4%!=0
		Publish domoticz/in,'{"command": "setuservariable", "idx": %eventvalue3%, "value": [INT#9]}'
		if [Relay4#State]=0 // start the pump if off
			gpio,15,1
		endif
		gpio,%eventvalue2%,1
		TimerSet,%eventvalue1%,60
	elseif [Relay%eventvalue1%#State]=1 and %eventvalue4%=0
		Let,9,0
		Publish domoticz/in,'{"command": "setuservariable", "idx": %eventvalue3%, "value": 0}'
		gpio,%eventvalue2%,0
		TimerSet,%eventvalue1%,0
	endif
	TaskValueSet 9,%eventvalue1%,[INT#9]
	Let,%eventvalue1%,1 // unlock the button
endon

on AquaIndicators#WaterFlow do
	if [AquaIndicators#WaterFlow]=0 then // no water
		TimerSet,8,0
		Let,8,0
		if [INT#7]=0
			TimerSet,7,1800
			Let,7,1
		endif
	else
		TimerSet,7,0
		Let,7,0
		if [INT#8]=0
			TimerSet,8,1200
			Let,8,1
		endif
	endif
endon

on Rules#Timer=5 do // no tank level received
	AsyncEvent,StopAll=5
	TimerSet,5,180 // to sync w aquaMeter
	TaskValueSet 11,1,0 // UNKNOWN
	if [INT#7]=0
		TimerSet,7,600 // reset if no heartbeat
		Let,7,1
	endif 
	Let,7,1
	if [INT#8]=0
		TimerSet,8,600 // reset if no heartbeat
		Let,8,1
	endif
endon

on Rules#Timer=6 do // tank level: to check low if no heartbeat issue
	if [AquaIndicators#TankLevelLow]=1 and [Indicators#Heartbeat]=1 do
		AsyncEvent,StopAll=6
	else
		Publish domoticz/in,'{"idx":1907,"nvalue":1,"svalue":"OK"}'
	endif
	TimerSet,6,60 // next check of tank level
endon

on Rules#Timer=7 do
	if [AquaIndicators#WaterFlow]=0 // No water used for a long time
		AsyncEvent,StopAll=7
	endif
	TimerSet,7,1800
	Let,7,1
endon

on Rules#Timer=8 do
	if [AquaIndicators#WaterFlow]=1 // Water used too much
		AsyncEvent,StopAll=8
	endif
	TimerSet,8,1200
	Let,8,1
endon

on Button1#State do
	Event,HandleButton=1,12,13
endon

on Button2#State do
	Event,HandleButton=2,5,14
endon

on Button3#State do
	Event,HandleButton=3,4,15
endon

on HandleButton do // relay, gpio, idx // the water valves
	//LogEntry,'lock%eventvalue1%: [INT#%eventvalue1%]'
	if [INT#%eventvalue1%]=1
		if [Relay%eventvalue1%#State]=0
			gpio,%eventvalue2%,1
			if [Relay4#State]=0 // start the pump if off
				gpio,15,1
			endif
			AsyncEvent,OnOffRelay=%eventvalue1%,0,%eventvalue3%,1
			TimerSet,6,15 // reset next tank level check after opening the valve
			TimerSet,7,1800
			Let,7,1
			TimerSet,8,1200
			Let,8,1
			Let,%eventvalue1%,2 // to lock until DzTime
		else
			gpio,%eventvalue2%,0 // no lock if Off because no return from dz expected
			AsyncEvent,OnOffRelay=%eventvalue1%,0,%eventvalue3%,0
		endif	

	elseif [INT#%eventvalue1%]=0 // after the boot 
		Let,%eventvalue1%,1
	else
		Let,%eventvalue1%,1+[INT#%eventvalue1%] // waiting for DzTime
		if [INT#%eventvalue1%]>3
			Let,%eventvalue1%,1 //if not message from dz, unlock the button after 3 times
		endif
	endif
endon

on OnOffRelay do // relay, gpio (0 if update done), idx, On(1)Off(0) // on or off the relay and publish to Dz
	if %eventvalue2%!=0 // not already done
		gpio,%eventvalue2%,%eventvalue4%
	endif
	Let,5,(0-%eventvalue4%)  // => -1 a On ; 0 a Off
	Publish domoticz/in,'{"command": "setuservariable", "idx": %eventvalue3%, "value": [VAR#5]}'
	TaskValueSet 9,%eventvalue1%,[INT#5] // -1 Dz will give the duration: On DzTime
	Let,5,abs([INT#5])*60
	TimerSet,%eventvalue1%,[INT#5]
endon

on Button4#State do // the pump
	if [INT#4]=1
		gpio,15,=![Relay4#State]
		Let,4,2 // to lock until DzRelay4 or Timer
		TimerSet,9,3
	else // after boot or unlock
		Let,4,1
	endif
endon

on Rules#Timer=9 do
	Let,4,1 // unlock the button4
endon

on DzRelay4 do
	gpio,15,%eventvalue1%
	Let,6,1 // from dz directly
	Let,4,1 // unlock the button
	TimerSet,9,0
endon

on Relay4#State do
	if [Relay4#State]=0
		AsyncEvent,StopRelay123 // if the pump is turned off all relays are turned off
	else
		TimerSet,7,1800
		Let,7,1
		TimerSet,8,1200
		Let,8,1
	endif
    if [INT#6]=0 // not from dz directly
        Publish domoticz/in,'{"command": "customevent", "event": "aquaOnOffPump", "data": [Relay4#State]}'
	else
		Let,6,0
	endif
endon

on StopRelay123 do // close all valves
	if [Relay1#State]!=0
		AsyncEvent,OnOffRelay=1,12,13,0
	endif
	if [Relay2#State]!=0
		AsyncEvent,OnOffRelay=2,5,14,0
	endif
	if [Relay3#State]!=0
		AsyncEvent,OnOffRelay=3,4,15,0
	endif
endon

on StopAll do
	if [Relay1#State]=1 or [Relay2#State]=1 or [Relay3#State]=1 or [Relay4#State]=1
		gpio,15,0
		AsyncEvent,StopRelay123
		if %eventvalue1%=5		
			Publish domoticz/in,'{"idx":1907,"nvalue":4,"svalue":"No meters: stop!"}'
		elseif %eventvalue1%=6
			Publish domoticz/in,'{"idx":1907,"nvalue":4,"svalue":"Tank low: stop!"}'
		elseif %eventvalue1%=7
			Publish domoticz/in,'{"idx":1907,"nvalue":0,"svalue":"No water used for a long time: stop!"}'
		elseif %eventvalue1%=8
			Publish domoticz/in,'{"idx":1907,"nvalue":4,"svalue":"Water used too much: stop!"}'
		endif
	endif
endon

on System#Boot do
	Let,1,0
	Let,2,0
	Let,3,0
	Let,4,0
	Let,5,0
	Let,6,2
	Let,7,1
	Let,8,1
	Let 9,0
	gpio,12,0
	gpio,5,0
	gpio,4,0
	gpio,15,0
	TimerSet,4,1 // LED status
	TimerSet,5,180 // aquaMeter heartbeat
	TimerSet,6,15 // to check tank level
	TimerSet,7,600 // no water flow for a long time
	TimerSet,8,200 // water flow for too much time

	if [Indicators#Booted]=0
		TaskValueSet 11,2,1
		Publish domoticz/in,'{"idx":1907,"nvalue":3,"svalue":"Cold restart"}'
	else
		Publish domoticz/in,'{"idx":1907,"nvalue":2,"svalue":"Reboot"}'
	endif
endon
System Info

Code: Select all

Build:⋄
20112  - Mega
System Libraries:⋄
ESP82xx Core 2843a5ac, NONOS SDK 2.2.2-dev(38a443e), LWIP: 2.1.2 PUYA support
Git Build:⋄

Plugin Count:⋄
47 [Normal]
Build Time:⋄
Feb 23 2021 12:29:55
Binary Filename:⋄
ESP_Easy_mega_20210223_normal_ESP8285_1M
Build Platform:⋄
Linux-5.4.0-54-generic-x86_64-with-glibc2.29
Git HEAD:⋄
mega-20210223_9054eb3

hestia
Normal user
Posts: 90
Joined: 06 Mar 2021, 08:27
Location: Paris

Re: Inputswitch state is deprecated

#14 Post by hestia » 07 Nov 2021, 18:18

Some screenshots
Screenshot 2021-11-07 180357.png
Screenshot 2021-11-07 180357.png (132.77 KiB) Viewed 9536 times
Screenshot 2021-11-07 180459.png
Screenshot 2021-11-07 180459.png (36.41 KiB) Viewed 9536 times
Screenshot 2021-11-07 180614.png
Screenshot 2021-11-07 180614.png (31.96 KiB) Viewed 9536 times
All Buttons are the same
Screenshot 2021-11-07 180707.png
Screenshot 2021-11-07 180707.png (31.3 KiB) Viewed 9536 times
All Relays are the same
Screenshot 2021-11-07 180806.png
Screenshot 2021-11-07 180806.png (21.17 KiB) Viewed 9536 times
Screenshot 2021-11-07 180829.png
Screenshot 2021-11-07 180829.png (19.91 KiB) Viewed 9536 times
Screenshot 2021-11-07 180856.png
Screenshot 2021-11-07 180856.png (24.59 KiB) Viewed 9536 times

User avatar
ThomasB
Normal user
Posts: 1064
Joined: 17 Jun 2018, 20:41
Location: USA

Re: Inputswitch state is deprecated

#15 Post by ThomasB » 09 Nov 2021, 02:20

@hestia, I don't have any advice on solving the reported problem. But I saw some syntax errors in your rules. Excerpt shown below, see the if and elseif statements that end in "do" (three places). This is incorrect usage, "do" is for event statements.

Code: Select all

on Rules#Timer=4 do // status LED
	if %iswifi% <7 do // wifi KO
	...
	elseif [Indicators#Heartbeat]=0 do // no heartbeat
	...
	elseif [AquaIndicators#TankLevelLow]=1 do // level Low
	...
- Thomas

hestia
Normal user
Posts: 90
Joined: 06 Mar 2021, 08:27
Location: Paris

Re: Inputswitch state is deprecated

#16 Post by hestia » 10 Nov 2021, 08:04

Thanks Thomas for the review of the code.
Fixed, there was also a "then" at the end of an "if"!

No change for the problem :-(

Code: Select all

33337: WD   : Uptime 1 ConnectFailures 0 FreeMem 23088 WiFiStatus 3 ESPeasy internal wifi status: Conn. IP Init
33580: EVENT: AquaIndicators#TankLevelLow=0
33620: ACT  : TaskValueSet 11,1,1
33625: ACT  : TimerSet,5,180
34085: EVENT: AquaIndicators#WaterFlow=0
34253: ACT  : TimerSet,8,0
34254: TIMER: disable timer
34257: ACT  : Let,8,0
35733: EVENT: Rules#Timer=4,1
35786: ACT  : timerSet,4,5
35791: ACT  : gpio,13,0
35793: GPIO : port#13: set to 0
40791: EVENT: Rules#Timer=4,1
40840: ACT  : timerSet,4,5
40845: ACT  : gpio,13,0
40847: GPIO : port#13: set to 0
44780: EVENT: Clock#Time=Wed,07:56
45845: EVENT: Rules#Timer=4,1
45892: ACT  : timerSet,4,5
45897: ACT  : gpio,13,0
45899: GPIO : port#13: set to 0
48671: inputswitchstate is deprecatedinputSwitchState,0,0.00
48679: inputswitchstate is deprecatedinputSwitchState,1,0.00
48687: inputswitchstate is deprecatedinputSwitchState,2,0.00
48695: inputswitchstate is deprecatedinputSwitchState,3,0.00
48703: inputswitchstate is deprecatedinputSwitchState,4,0.00
48712: inputswitchstate is deprecatedinputSwitchState,5,0.00
48720: inputswitchstate is deprecatedinputSwitchState,6,0.00
48731: inputswitchstate is deprecatedinputSwitchState,7,0.00
48773: EVENT: Button1#State=1
49053: ACT  : Publish domoticz/in,'{'idx':1907,'nvalue':0,'svalue':'on Button1'}'
49313: EVENT: Button2#State=0
49566: ACT  : Publish domoticz/in,'{'idx':1907,'nvalue':0,'svalue':'on Button2'}'
49822: EVENT: Button3#State=0
50110: ACT  : Publish domoticz/in,'{'idx':1907,'nvalue':0,'svalue':'on Button3'}'
I still don't understand the link between what I do in dz (GUI + json to another server) and the trigger on the esp...

hestia
Normal user
Posts: 90
Joined: 06 Mar 2021, 08:27
Location: Paris

Re: Inputswitch state is deprecated

#17 Post by hestia » 13 Nov 2021, 19:36

I've added a "security" to avoid all relays to open (to close them if opened in less than x seconds infact), but I'd like to understand what happened really and get a real fix.
I don't understand how the "inputswitchstate" could be "deprecated" as it is not connected to anything!

TD-er
Core team member
Posts: 8643
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Inputswitch state is deprecated

#18 Post by TD-er » 13 Nov 2021, 19:48

As I mentioned, that command is sent from the Domoticz MQTT controller. See: viewtopic.php?p=55680#p55680
And the only way I could see it being created is if there is another unit on your network (may not even be an ESPEasy device) which is sending switch actions to the MQTT broker using IDX 0 or something using exactly the same IDX value as one of your switch tasks.

As far as I can see, it doesn't seem to do anything right now, other than generating log entries.

hestia
Normal user
Posts: 90
Joined: 06 Mar 2021, 08:27
Location: Paris

Re: Inputswitch state is deprecated

#19 Post by hestia » 13 Nov 2021, 20:34

Thanks for your re reply
I better understand it. I had a lot of doubts on it because I didn't install mqtt anywhere except on dz and the esps for the watering!
But on the PI that trigger the issue, which is connected to my heater, I have vitalk, and I don't know exactly what is it :-(
And I've found here https://github.com/mqu/viessmann-mqtt/w ... ation.main that it could be connected to mqtt (that I don't use)
Is it possible to have an hidden mqtt on my PI?
it doesn't seem to do anything right now, other than generating log entries.
Not at all :-(
It triggers all the buttons of my device and so open all the valves of the water :-(
Perhaps there was changed in a recent version? Mine: ESP_Easy_mega_20210223_normal_ESP8285_1M, and now that only put lines in the log?

I think it is more "IDX 0" that the exact IDX, because all the buttons of my esp are triggered!

Now that the root cause is known, how to fix it?
I'm not sure to be able to do anything on thes oft of my heater

hestia
Normal user
Posts: 90
Joined: 06 Mar 2021, 08:27
Location: Paris

Re: Inputswitch state is deprecated

#20 Post by hestia » 13 Nov 2021, 21:21

follow up...
I'm not sure what do you mean by IDX...
Screenshot 2021-11-13 211914.png
Screenshot 2021-11-13 211914.png (43.99 KiB) Viewed 9208 times
If it is this, I could put anything else as IDX just to avoid to have 0...?

TD-er
Core team member
Posts: 8643
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Inputswitch state is deprecated

#21 Post by TD-er » 13 Nov 2021, 23:53

Yep.
The true bug here seems to be that there is no check whether that checkbox is checked.

I will make a commit for it, but for now you can type in any IDX value you don't use in Domoticz to see if that does improve your situation.

TD-er
Core team member
Posts: 8643
Joined: 01 Sep 2017, 22:13
Location: the Netherlands
Contact:

Re: Inputswitch state is deprecated

#22 Post by TD-er » 14 Nov 2021, 01:04

Made a pull request for this: https://github.com/letscontrolit/ESPEasy/pull/3846

Please let me know what effect changing the IDX in that field has.
If it does help you with your issue, I can merge this PR as it will then fix this issue even with IDX set to 0.

hestia
Normal user
Posts: 90
Joined: 06 Mar 2021, 08:27
Location: Paris

Re: Inputswitch state is deprecated

#23 Post by hestia » 14 Nov 2021, 10:24

done!
Screenshot 2021-11-14 100740.png
Screenshot 2021-11-14 100740.png (8.44 KiB) Viewed 9170 times
I've put 9999x on all 8 first devices, possible w/o checking the checkbox.
9999x doesn't exist on dz, numbers big enough to stay like this :D
No longer "Inputswitch state is deprecated", so no unwanted watering :)
Nothing on dz side neither.
For that part, I think it's ok, thanks for your help
I'll do more testing for the whole system to be sure that everything is ok

Post Reply

Who is online

Users browsing this forum: Google [Bot] and 27 guests