Home Assistant

Fronius PV einbinden

# in die Datei /homeassistant/configuration.yaml einbauen
...
template:
  - sensor:
      - name: "Battery Power Charging"
        unit_of_measurement: W
        device_class: power
        state: "{{ max(0, 0 -  states('sensor.solarnet_power_battery') | float(default=0)) }}"
      - name: "Battery Power Discharging"
        unit_of_measurement: W
        device_class: power
        state: "{{ max(0, states('sensor.solarnet_power_battery') | float(default=0)) }}"
      - name: "Power Photovoltaics"
        unit_of_measurement: W
        device_class: power
        state: "{{ states('sensor.solarnet_power_photovoltaics') | float(default=0) }}"
      - name: "Netzbezug"
        unit_of_measurement: W
        device_class: power
        state: "{{ states('sensor.solarnet_leistung_netzbezug') | float(default=0) }}"
      - name: "Netzeinspeisung"
        unit_of_measurement: W
        device_class: power
        state: "{{ states('sensor.solarnet_leistung_netzeinspeisung') | float(default=0) }}"

sensor:
  - platform: integration
    source: sensor.battery_power_charging
    name: "Total Battery Energy Charged"
    unique_id: "myuuid_1234"
    unit_prefix: k
    method: left
  - platform: integration
    source: sensor.battery_power_discharging
    name: "Total Battery Energy Discharged"
    unique_id: "myuuid_1235"
    unit_prefix: k
    method: left
  - platform: integration
    source: sensor.power_photovoltaics
    name: "Total Photovoltaics Energy"
    unique_id: "myuuid_1236"
    unit_prefix: k
    method: left
  - platform: integration
    source: sensor.netzbezug
    name: "Totaler Netzbezug"
    unique_id: "myuuid_1237"
    unit_prefix: k
    method: left
  - platform: integration
    source: sensor.netzeinspeisung
    name: "Totale Netzeinspeisung"
    unique_id: "myuuid_1238"
    unit_prefix: k
    method: left

Quelle: https://kofler.info/fronius-wechselrichter-in-home-assistant-einbinden/

Xiaomi Smart Devices

 ---------
   NAME:     Bad Eg
   ID:       77726756
   MAC:      78:11:DC:AB:C3:DB
   IP:       192.168.0.142
   TOKEN:    68471cab5e8f5d92f9cb64ce4694387f
   MODEL:    yeelink.light.ceiling1
   ---------
   NAME:     Bad OG (Farbe)
   ID:       131153750
   MAC:      04:CF:8C:84:AE:84
   IP:       192.168.0.135
   TOKEN:    095ccb1783aa83cb87d63381650d8bc1
   MODEL:    yeelink.light.color2
   ---------
   NAME:     Viola
   ID:       131399194
   MAC:      04:CF:8C:88:6D:48
   IP:       192.168.0.139
   TOKEN:    9f190efb06b2ad0f8fc395f570f7c937
   MODEL:    yeelink.light.ct2
   ---------
   NAME:     Schlafzimmer (weiß)
   ID:       131408275
   MAC:      04:CF:8C:88:90:C1
   IP:       192.168.0.140
   TOKEN:    fe8557b3f5dbd2fe8ea953278bdb03f3
   MODEL:    yeelink.light.ct2
   ---------
   NAME:     Roborock
   ID:       262063414
   MAC:      50:EC:50:1E:0A:0F
   IP:       192.168.0.42
   TOKEN:    4e4b4942326f4e4351427372374e554c
   MODEL:    roborock.vacuum.s5
   ---------
   NAME:     Viomi
   ID:       428598805
   MAC:      C0:E7:BF:58:36:60
   IP:       192.168.0.43
   TOKEN:    73717a4562337a6a6c47433446666c4f
   MODEL:    viomi.vacuum.v6
   ---------

 

Clients einbinden

Touch PC

Unified Remote:

https://www.unifiedremote.com/tutorials/how-to-install-unified-remote-server-deb-via-terminal

KWL Pluggit

//
//	@author			Helge Klug
//	@copyright		Copyright (c) 2018 Helge Klug
//	@version		1.10
//
//	@see			http://www.pluggit.com/fileserver/files/1413/609560454939420/21_10_2013_modbus_addresses.pdf

//		Register	:	40025 | prmFWVersion					| UINT	| Read	|	FW Version: Major(8bits) and Minor (8bits)
//		Register	:	40101 | prmHALTaho1						| Float	| Read	|	Fan1 rpm
//		Register	:	40103 | prmHALTaho2						| Float	| Read	|	Fan2 rpm
//		Register	:	40109 | prmDateTime  					| UINT	| Read	|	Current Date/time in Unix time
//		Register	:	40109 | prmDateTimeSet  				| UINT	| Write	|	New date/time in Unix time
//		Register	:	40133 | prmRamIdxT1  					| Float	| Read	|	Outdoor temperature T1, °C
//		Register	:	40135 | prmRamIdxT2 					| Float	| Read	|	Supply  temperature T2, °C
//		Register	:	40137 | prmRamIdxT3  					| Float	| Read	|	Extract temperature T3, °C
//		Register	:	40139 | prmRamIdxT4  					| Float	| Read	|	Exhaust temperature T4, °C
//		Register	:	40161 | prmPreheaterDutyCycle  			| UINT	| Read	|	Power of Preheater in %
//		Register	:	40169 | prmRamIdxUnitMode				| UINT	| Write	|	Active Unit mode:
//																		| Read	|		Demand Mode				0x0002		2
//																						Manual Mode				0x0004		4
//																						WeekProgram Mode		0x0008		8
//
//																						Away Mode Start			0x0010		16
//																						Away Mode End			0x8010		40169
//
//																						Fireplace Mode Start	0x0040		64
//																						Fireplace Mode End		0x8040		32832
//
//																						Summer Mode Start		0x0800		2048
//																						Summer Mode End			0x8800		34816
//
//																						Select manual bypass	0x0080		128
//																						Deselect Manual bypass	0x8080		32896
//
//		Register	:	40199 | prmRamIdxBypassActualState		| UINT	| Read	|	Bypass state:
//																						0	Closed		0x0000
//																						1	In process	0x0001
//																						32	Closing		0x0020
//																						64	Opening		0x0040
//																						255	Opened		0x00FF
//
//		Register	:	40265 | prmRamIdxBypassManualTimeout	| UINT	| Read	|	Manual bypass duration in minutes
//
//		Register	:	40325 | prmRomIdxSpeedLevel				| UINT	| Write	|	Speed level of Fans ->  Manual mode: Fan step can be set
//						40325 | prmRomIdxSpeedLevel				| UINT	| Read	|	Speed level of Fans ->  Other modes: Fan step can be read.
//		Register	:	40445 | prmBypassTmin 					| Float	| Read	|	Min temperature for outdoor air (T1)
//		Register	:	40447 | prmBypassTmax 					| Float	| Read	|	Max temperature for extract air (T3)
//		Register	:	40473 | prmCurrentBLState 				| UINT	| Read	|	Current unit mode:
//																						0	Standby
//																						1	Manual
//																						2	Demand
//																						3	Week program
//																						4	Servo-flow
//																						5	Away
//																						6	Summer
//																						7	DI Override
//																						8	Hygrostat override
//																						9	Fireplace
//																						10	Installer
//																						11	Fail Safe 1
//																						12	Fail Safe 2
//																						13	Fail Off
//																						14	Defrost Off
//																						15	Defrost
//
//		Register	:	40555 | prmFilterRemainingTime  		| UINT	| Read	|	Remaining time of the Filter Lifetime (Days)
//		Register	:	40557 | prmFilterDefaultTime  			| UINT	| Write	|	Filter Lifetime (Days)
//																		| Read	|
//		Register	:	40559 | prmFilterReset  				| UINT	| Write	|	Reset filter timer
//																				|	Reset filter timer
//		Register	:	40625 | prmWorkTime  					| UINT	| Read	|	Work time of system, in hours
//		Register	:	40669 | prmStartExploitationDateStamp	| UINT	| Read	|	Date Stamp of the system start time in Unix time
//      Register	:	40431 | prmVOC 							| UINT	| Read	|	VOC sensor value (read from VOC); ppm. If VOC is not installed, then 0. 
//		Register	:	40563 | prmPPM1Unit 					| UINT	| Read	|	Low Treshold of VOC (ppm) 
//		Register	:	40565 | prmPPM2Unit 					| UINT	| Read	|	Low Treshold of VOC (ppm) 
//		Register	:	40567 | prmPPM3Unit 					| UINT	| Read	|	Low Treshold of VOC (ppm) 
//

Bridge modbus:tcp:PluggitAP310 [ host="192.168.0.15", port=502, id=2 ] {

	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmFWVersion					[ start=25,		length=4, refresh=5000,		type="holding" ] {
		Thing data register						[ readStart="25",	readValueType="uint32" ]
	}
	
	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmHALTaho1					[ start=101,		length=4, refresh=5000,		type="holding" ] {
		Thing data register						[ readStart="101",	readValueType="float32" ]
	}

	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmHALTaho2					[ start=103,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="103",	readValueType="float32" ]
	}

	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmDateTime					[ start=108,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="108",	readValueType="int64" ]
		Thing data registerDateTime				[ readStart="108",	readValueType="int64", readTransform="JS(EpocheToDateTime.js)" ]
	}

	//-------------------------------------------------------------------------
	//	Status		:	???
	//
	Bridge poller prmDateTimeSet				[ start=108,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ writeStart="108", writeValueType="int64", writeType="holding" ]
	}

	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmRamIdxT1					[ start=133,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="133",	readValueType="float32" ]
	}

	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmRamIdxT2					[ start=135,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="135",	readValueType="float32" ]
	}

	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmRamIdxT3					[ start=137,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="137",	readValueType="float32" ]
	}

	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmRamIdxT4					[ start=139,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="139",	readValueType="float32" ]
	}

	//-------------------------------------------------------------------------
	//	Status		:		???
	//
	Bridge poller prmPreheaterDutyCycle			[ start=160,		length=2,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="160",	readValueType="uint32_swap" ]
	}

	//-------------------------------------------------------------------------
	//	Status		:	???
	//
	Bridge poller prmRamIdxUnitMode				[ start=168,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="168",	readValueType="int64_swap", writeStart="169",	writeValueType="int64_swap", writeType="holding" ]
	}

	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmRamIdxBypassActualState	[ start=198,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="198",	readValueType="uint32_swap" ]
	}

 	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmRamIdxBypassManualTimeout	[ start=264,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="264",	readValueType="uint32_swap" ]
	}

 	//-------------------------------------------------------------------------
	//
	//	Status		:	OK
	//
	Bridge poller prmRomIdxSpeedLevel			[ start=324,		length=4,	refresh=5000,	type="holding" ] {
		Thing data	register					[ readStart="324",	readValueType="int64_swap", writeStart="324",	writeValueType="int64_swap", writeType="holding"  ] //uint32
	}

	//-------------------------------------------------------------------------
	//Anpassung Christoph!
	//Status: ???

		Bridge poller prmVOC 					[ start=430,		length=4, refresh=5000,		type="holding" ] {
		Thing data register						[ readStart="430",	readValueType="uint32_swap" ]
	}
	
	//-------------------------------------------------------------------------
	//
	//	Status		:	OK
	//
	Bridge poller prmBypassTmin					[ start=445,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="445",	readValueType="float32" ]
	}

	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmBypassTmax					[ start=447,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="447",	readValueType="float32" ]
	}

 	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmCurrentBLState				[ start=472,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="472",	readValueType="uint32_swap" ]
	}


	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmFilterRemainingTime		[ start=554,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="554", readValueType="uint32_swap" ]
	}


 	//-------------------------------------------------------------------------
	//	Status		:	OK
	//
	Bridge poller prmFilterDefaultTime			[ start=556,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="556", readValueType="int64", writeStart="556", writeValueType="int64", writeType="holding" ]
	}


	//-------------------------------------------------------------------------
	//	Status		:
	//
	Bridge poller prmFilterReset				[ start=558,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="558",	readValueType="int64", writeStart="558", writeValueType="int64", writeType="holding" ]
	}

	//-------------------------------------------------------------------------
	//
	//	Status		:
	//
	Bridge poller prmWorkTime					[ start=624,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="624",	readValueType="uint32_swap" ]
	}

	//-------------------------------------------------------------------------
	//
	//	Status		:	OK
	Bridge poller prmStartExploitationDateStamp	[ start=668,		length=4,	refresh=5000,	type="holding" ] {
		Thing data register						[ readStart="668",	readValueType="uint32_swap" ]
		Thing data registerDateTime				[ readStart="668",	readValueType="uint32_swap", readTransform="JS(EpocheToDateTime.js)" ]
	}

}

 

Beschattungsautomatik

Ausrichtung Haus überprüfen: Sonnenatlas Bayern

 

alias: Sonnenstand Fassade
description: ""
triggers:
  - entity_id: sensor.sun_solar_azimuth
    trigger: state
conditions: []
actions:
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ 0 < states('sensor.sun_solar_azimuth') | float < 73 }}"
        sequence:
          - target:
              entity_id: input_boolean.sonne_ostseite
            action: input_boolean.turn_on
            data: {}
          - target:
              entity_id:
                - input_boolean.sonne_sudseite
                - input_boolean.sonne_westseite
            action: input_boolean.turn_off
            data: {}
      - conditions:
          - condition: template
            value_template: "{{ 73 <= states('sensor.sun_solar_azimuth') | float < 162 }}"
        sequence:
          - target:
              entity_id:
                - input_boolean.sonne_ostseite
                - input_boolean.sonne_sudseite
            action: input_boolean.turn_on
            data: {}
          - target:
              entity_id: input_boolean.sonne_westseite
            action: input_boolean.turn_off
            data: {}
      - conditions:
          - condition: template
            value_template: "{{ 162 <= states('sensor.sun_solar_azimuth') | float < 253 }}"
        sequence:
          - target:
              entity_id:
                - input_boolean.sonne_sudseite
                - input_boolean.sonne_westseite
            action: input_boolean.turn_on
            data: {}
          - target:
              entity_id: input_boolean.sonne_ostseite
            action: input_boolean.turn_off
            data: {}
      - conditions:
          - condition: template
            value_template: "{{ states('sensor.sun_solar_azimuth') | float >= 253 }}"
        sequence:
          - target:
              entity_id: input_boolean.sonne_westseite
            action: input_boolean.turn_on
            data: {}
          - target:
              entity_id:
                - input_boolean.sonne_ostseite
                - input_boolean.sonne_sudseite
            action: input_boolean.turn_off
            data: {}
mode: single