Geflasht oder ungeflasht ...
	Moderator:  seppy 
			
		
		
			
				
								udo1toni 							 
									
		Beiträge:  15415Registriert:  11. Apr 2018 18:05
Answers:  247
 
									Wohnort:  Darmstadt 
		
						
						
													
							
						
									
						Beitrag 
					 
								von udo1toni  15. Sep 2024 16:18 
			
			
			
			
			Die eckigen Klammern um das transformationPattern sind falsch. Korrekt:
Code: Alles auswählen 
  - id: fw_update
    channelTypeUID: mqtt:string
    label: Firmware Update
    configuration:
      stateTopic: shellyplusht_wohnzimmer/status/sys
      transformationPattern: "REGEX:(.*stable.*)∩JSONPATH:$.available_updates.stable.version"
Mit dem gezeigten JSON sollte dann allerdings ein leerer String zurück kommen, da dort das Wort stable gar nicht vorhanden ist.
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)
						 
		 
				
		
		 
	 
	
		
		
			
				
																			
								EmptySoft 							 
									
		Beiträge:  248Registriert:  7. Jan 2020 14:45
Answers:  2
 
									
							
				Kontaktdaten: 
				
			 
				
		 
		
						
						
													
							
						
									
						Beitrag 
					 
								von EmptySoft  16. Sep 2024 13:24 
			
			
			
			
			Moadin  hat geschrieben: ↑ 15. Sep 2024 14:30 
In Openhab habe ich folgendes eingetragen als channel:
Code: Alles auswählen 
  - id: fw_update
    channelTypeUID: mqtt:string
    label: Firmware Update
    configuration:
      stateTopic: shellyplusht_wohnzimmer/status/sys
      transformationPattern: "[REGEX:(.*stable.*)∩JSONPATH:$.available_updates.stable.version]"
Benötigt man das REGEX wirklich? sollte nicht
Code: Alles auswählen 
transformationPattern="JSONPATH:$.available_updates.stable.version" reichen?
BYe
						 
		 
				
		
		 
	 
	
		
		
			
				
								udo1toni 							 
									
		Beiträge:  15415Registriert:  11. Apr 2018 18:05
Answers:  247
 
									Wohnort:  Darmstadt 
		
						
						
													
							
						
									
						Beitrag 
					 
								von udo1toni  16. Sep 2024 16:37 
			
			
			
			
			Nein, in diesem Fall nicht. Das Problem ist hier, dass der Zweig nicht unbedingt im JSON vorhanden ist. Ohne REGEX kommt dann eine nullPointerException. Mit REGEX bekommt JSONPATH als Éingangswert aber einen leeren String (weil das Wort stable  nicht vorhanden ist und damit REGEX nicht matcht). JSONPATH liefert dann ebenfalls einen leeren String zurück und es gibt keine Exception.
						
									
									openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)