<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Brownie&#039;s Blog</title>
	<atom:link href="https://blog.braunschweiler.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.braunschweiler.com</link>
	<description>Verschiedenes aus meiner Welt...</description>
	<lastBuildDate>Sat, 15 Feb 2025 19:19:01 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Autodarts zwei Accounts auf einem Board</title>
		<link>https://blog.braunschweiler.com/2025/02/15/autodarts-zwei-accounts-auf-einem-board/</link>
					<comments>https://blog.braunschweiler.com/2025/02/15/autodarts-zwei-accounts-auf-einem-board/#respond</comments>
		
		<dc:creator><![CDATA[brownie]]></dc:creator>
		<pubDate>Sat, 15 Feb 2025 17:35:10 +0000</pubDate>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Software, Tools]]></category>
		<category><![CDATA[Wissen]]></category>
		<category><![CDATA[autodarts]]></category>
		<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[Homeassistant]]></category>
		<guid isPermaLink="false">https://blog.braunschweiler.com/?p=1522</guid>

					<description><![CDATA[<p>Die Anleitung beschreibt, wie zwei Autodarts-Accounts auf einem Dartboard umgesetzt werden können. Die Konfiguration erfolgt über einen Raspberry Pi und QR-Codes zum Benutzerwechsel. Es wird erklärt, wie die entsprechenden Shell-Skripte erstellt und Automatisierungen in Homeassistant umgesetzt werden. RFID ist nicht nötig, da QR-Codes verwendet werden.</p>
<p>The post <a href="https://blog.braunschweiler.com/2025/02/15/autodarts-zwei-accounts-auf-einem-board/">Autodarts zwei Accounts auf einem Board</a> first appeared on <a href="https://blog.braunschweiler.com">Brownie's Blog</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Hier eine kleine Anleitung wie das Szenario zwei Autodarts-Accounts auf einem Dartboard umgesetzt werden kann. Bei der Einrichtung von Autodarts wird das Dartboard mit dem Account verknüpft mittels Board ID und Api Key. Somit kann ein Board nur zu einem Account gehören.</p>



<p>Mein gewählter Ansatz soll für den Anwender so einfach wie möglich sein. Für den Benutzerwechsel braucht es schlussendlich nur ein Gerät welches QR-Codes lesen kann.  </p>



<h2 class="wp-block-heading">Voraussetzungen</h2>



<ul class="wp-block-list">
<li>Autodarts Headless auf einem Raspberry Pi</li>



<li>Homeassisant</li>



<li>QR-Code fähiges Gerät</li>
</ul>



<h3 class="wp-block-heading">Tasks die auf dem Raspberry Pi gemacht werden müssen</h3>



<ul class="wp-block-list">
<li>Board Konfiguration für AD-Account 1 erstellen (normale Einrichtung gemäss Autodarts<sup data-fn="0329e677-68c6-4d77-9c96-b22ae0aa67b6" class="fn"><a href="#0329e677-68c6-4d77-9c96-b22ae0aa67b6" id="0329e677-68c6-4d77-9c96-b22ae0aa67b6-link">1</a></sup>)</li>



<li><a href="#copy-config-1" data-type="internal" data-id="#copy-config-1">Konfigurationsdatei kopieren</a></li>



<li>Board Konfiguration für AD-Account 2 erstellen</li>



<li><a href="#copy-config-2" data-type="internal" data-id="#copy-config-2">Konfigurationsdatei kopieren</a> </li>



<li><a href="#create-sh1" data-type="internal" data-id="#create-sh1">Erstellen lade-Account1.sh</a></li>



<li><a href="#create-sh2" data-type="internal" data-id="#create-sh2">Erstellen lade-Account2.sh</a></li>



<li><a href="#x-sh1" data-type="internal" data-id="#x-sh1">lade-Account1.sh ausführbar machen</a></li>



<li><a href="#x-sh2" data-type="internal" data-id="#x-sh2">lade-Account2.sh ausführbar machen</a></li>
</ul>



<h3 class="wp-block-heading">Tasks die auf dem Homeassistant gemacht werden müssen</h3>



<ul class="wp-block-list">
<li><a href="#ssh" data-type="internal" data-id="#ssh">Zugriff auf den Raspberry Pi mittels SSH einrichten</a></li>



<li><a href="#shell-commands" data-type="internal" data-id="#shell-commands">Erstellen Shell-Commands für das Laden der jeweiligen Konfigurationen</a></li>



<li><a href="#automation" data-type="internal" data-id="#automation">Erstellen Automatisierungen</a></li>



<li><a href="#create-qr" data-type="internal" data-id="#create-qr">Erstellen QR-Code</a></li>
</ul>



<h4 class="wp-block-heading" id="copy-config-1">Konfigurationsdatei von AD-Account 1 kopieren</h4>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>sudo cp ~/.config/autodarts/config.toml ~/.config/autodarts/config-Account1.toml<span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span></code></span></pre>


<h4 class="wp-block-heading" id="create-sh1">Erstellen lade-Account1.sh</h4>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>sudo nano lade-Account1.sh<span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span></code></span></pre>


<h4 class="wp-block-heading" id="lade-Account1">Inhalt lade-Account1.sh</h4>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-meta">#!/bin/bash</span>
sudo service autodarts stop
cp ~<span class="hljs-regexp">/.config/</span>autodarts/config-Account1.toml ~<span class="hljs-regexp">/.config/</span>autodarts/config.toml
sudo service autodarts start</code></span></pre>


<h4 class="wp-block-heading" id="x-sh1">lade-Account1.sh ausführbar machen</h4>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>sudo chown +x lade-Account1.sh<span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span></code></span></pre>


<h4 class="wp-block-heading" id="copy-config-2">Konfigurationsdatei von AD-Account 2 kopieren</h4>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>sudo cp ~/.config/autodarts/config.toml ~/.config/autodarts/config-Account2.toml<span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span></code></span></pre>


<h4 class="wp-block-heading" id="create-sh2">Erstellen lade-Account2.sh</h4>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>sudo nano lade-Account2.sh<span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span></code></span></pre>


<h4 class="wp-block-heading" id="lade-Account2">Inhalt lade-Account2.sh</h4>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-meta">#!/bin/bash</span>
sudo service autodarts stop
cp ~<span class="hljs-regexp">/.config/</span>autodarts/config-Account2.toml ~<span class="hljs-regexp">/.config/</span>autodarts/config.toml
sudo service autodarts start</code></span></pre>


<h4 class="wp-block-heading" id="x-sh2">lade-Account2.sh ausführbar machen</h4>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>sudo chown +x lade-Account2.sh<span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span></code></span></pre>


<h4 class="wp-block-heading" id="ssh">Zugriff auf den Raspberry Pi mittels SSH einrichten</h4>



<h5 class="wp-block-heading">SSH-Schlüssel erstellen</h5>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>ssh-keygen -t rsa -b 4096<span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span></code></span></pre>


<h5 class="wp-block-heading">Kopieren des öffentlichen Schlüssel auf den Remote-Raspberry Pi</h5>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>ssh-copy-id pi@remote-ip<span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span></code></span></pre>


<h5 class="wp-block-heading">Teste den Zugriff</h5>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>ssh pi@remote-ip "echo Verbindung erfolgreich"<span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span></code></span></pre>


<h4 class="wp-block-heading" id="shell-commands">Erstellen Shell-Commands für das Laden der jeweiligen Konfigurationen</h4>


<pre class="wp-block-code"><span><code class="hljs language-xml">shell_command:
  autodarts_laden_account1: "ssh pi@remote-ip './<span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"background-color: initial; font-family: inherit; font-size: inherit; color: initial;"</span>&gt;</span>lade-Account1.sh<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>'"
  autodarts_laden_account2: "ssh pi@remote-ip './<span class="hljs-tag">&lt;<span class="hljs-name">span</span> <span class="hljs-attr">style</span>=<span class="hljs-string">"background-color: initial; font-family: inherit; font-size: inherit; color: initial;"</span>&gt;</span>lade-Account2.sh<span class="hljs-tag">&lt;/<span class="hljs-name">span</span>&gt;</span>'"</code></span></pre>


<h4 class="wp-block-heading" id="automation">Erstellen Automatisierung für Account1</h4>


<pre class="wp-block-code"><span><code class="hljs language-javascript">alias: autodarts_laden_account1
<span class="hljs-attr">description</span>: Lädt das Autodartsprofil1 für das Board
<span class="hljs-attr">mode</span>: single
<span class="hljs-attr">triggers</span>:
  - trigger: webhook
    <span class="hljs-attr">allowed_methods</span>:
      - GET
    <span class="hljs-attr">local_only</span>: <span class="hljs-literal">true</span>
    <span class="hljs-attr">webhook_id</span>: <span class="hljs-string">"-lade-Account1"</span>
<span class="hljs-attr">conditions</span>:
actions:
  - action: shell_command.autodarts_laden_account1
    <span class="hljs-attr">data</span>: {}
</code></span></pre>


<h4 class="wp-block-heading">Erstellen Automatisierung für Account2</h4>


<pre class="wp-block-code"><span><code class="hljs language-javascript">alias: autodarts_laden_account2
<span class="hljs-attr">description</span>: Lädt das Autodartsprofil2 für das Board
<span class="hljs-attr">mode</span>: single
<span class="hljs-attr">triggers</span>:
  - trigger: webhook
    <span class="hljs-attr">allowed_methods</span>:
      - GET
    <span class="hljs-attr">local_only</span>: <span class="hljs-literal">true</span>
    <span class="hljs-attr">webhook_id</span>: <span class="hljs-string">"-lade-Account2"</span>
<span class="hljs-attr">conditions</span>:
actions:
  - action: shell_command.autodarts_laden_account2
    <span class="hljs-attr">data</span>: {}
</code></span></pre>


<h4 class="wp-block-heading" id="create-qr">Erstellen QR-Code</h4>



<p>Mit einem beliebigen Online-Tool habe ich mir dann einen QR-Code erzeugt welcher die URL vom Webhook der Automatisierung enthält</p>



<h3 class="wp-block-heading" id="qr-code-not-rfid">Warum QR-Code und nicht RFID-Tag</h3>



<p>Für die Lösung mit dem QR-Code reicht ein Gerät welches diese Lesen kann. Es benötigt keine Homeassistant App.</p>



<h3 class="wp-block-heading">Bonus</h3>



<p>Mit dem gleichen Prinzip habe ich auch noch eine Automatisierung zum Ausschalten des Raspberry Pi erstellt.</p>



<h3 class="wp-block-heading">Quellen</h3>



<p><a href="https://discord.com/channels/802528604067201055/1330478733056020492">https://discord.com/channels/802528604067201055/1330478733056020492</a></p>



<h3 class="wp-block-heading">Weitere Infos</h3>



<ul class="wp-block-list">
<li><a href="https://autodarts.diy/getting-started/installation/">https://autodarts.diy/getting-started/installation/</a></li>



<li><a href="https://www.home-assistant.io/integrations/shell_command/">https://www.home-assistant.io/integrations/shell_command/</a></li>



<li><a href="https://www.home-assistant.io/docs/automation/trigger/#webhook-trigger">https://www.home-assistant.io/docs/automation/trigger/#webhook-trigger</a></li>
</ul>



<p></p>


<ol class="wp-block-footnotes"><li id="0329e677-68c6-4d77-9c96-b22ae0aa67b6"><a href="https://autodarts.diy/getting-started/installation/">https://autodarts.diy/getting-started/installation/</a> <a href="#0329e677-68c6-4d77-9c96-b22ae0aa67b6-link" aria-label="Zur Fußnotenreferenz 1 navigieren"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li></ol>


<p></p><p>The post <a href="https://blog.braunschweiler.com/2025/02/15/autodarts-zwei-accounts-auf-einem-board/">Autodarts zwei Accounts auf einem Board</a> first appeared on <a href="https://blog.braunschweiler.com">Brownie's Blog</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.braunschweiler.com/2025/02/15/autodarts-zwei-accounts-auf-einem-board/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Zurück zu &#8222;nur Solar&#8220;</title>
		<link>https://blog.braunschweiler.com/2024/05/10/zurueck-zu-nur-solar/</link>
					<comments>https://blog.braunschweiler.com/2024/05/10/zurueck-zu-nur-solar/#respond</comments>
		
		<dc:creator><![CDATA[brownie]]></dc:creator>
		<pubDate>Fri, 10 May 2024 09:00:00 +0000</pubDate>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Software, Tools]]></category>
		<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[BEV]]></category>
		<category><![CDATA[Homeassistant]]></category>
		<category><![CDATA[Solarmanager]]></category>
		<guid isPermaLink="false">https://blog.braunschweiler.com/?p=1509</guid>

					<description><![CDATA[<p>Home Assistant Automatisierung zum Zurücksetzen des Solar Managers von "immer laden" zu "nur Solar"</p>
<p>The post <a href="https://blog.braunschweiler.com/2024/05/10/zurueck-zu-nur-solar/">Zurück zu „nur Solar“</a> first appeared on <a href="https://blog.braunschweiler.com">Brownie's Blog</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Im Beitrag <a href="https://blog.braunschweiler.com/2024/05/03/automatisierung-fuer-immer-laden/">Automatisierung für „Immer laden“</a> habe ich gezeigt wie im Solar Manager einfach die Wallbox auf &#8222;Immer laden&#8220; konfiguriert werden kann. Diese Automatisierung hat den Nachteil, dass die Konfiguration im Solar Manager so bleibt. Das bedeutet, wenn das nächste Mal das Auto an der Wallbox eingesteckt wird, beginnt der Ladevorgang unmittelbar und das ist nicht in jedem Fall gewünscht.</p>



<h3 class="wp-block-heading">Voraussetzungen</h3>



<ul class="wp-block-list">
<li>Solar Manager</li>



<li>Wallbox mit Solar Manager verbunden</li>



<li>Home Assistant</li>



<li>Erkennungsmöglichkeit ob das Auto von der Wallbox getrennt wurde</li>
</ul>



<p>In diesem Beitrag will ich dir zeigen wie es möglich ist mit einer Automatisierung in Home Assistant die Wallbox im Solar Manager auf &#8222;nur Solar&#8220; zu schalten und zwar nur durch trennen des Autos von der Wallbox.</p>



<h3 class="wp-block-heading">Automatisierung</h3>



<p>Die Automatisierung wird ausgelöst sobald das Auto meldet, dass es von der Wallbox getrennt wurde. Genau so gut kann auch die Wallbox der Auslöser sein, falls diese dem Home Assistant melden kann wenn das Auto getrennt wurde.<br>
Bedingungen sind in dieser Automatisierung keine vorhanden.<br>
Die Aktion die ausgelöst wird ist ein RESTful Command.</p>



<h4 class="wp-block-heading">Der YAML-Code sieht so aus</h4>


<pre class="wp-block-code has-small-font-size"><span><code class="hljs language-css"><span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">id</span>: <span class="hljs-selector-tag">solarmanager_bev_reset_solarmanager_to_chargeing_solar_only</span>
  <span class="hljs-selector-tag">alias</span>: <span class="hljs-selector-tag">BEV</span> <span class="hljs-selector-tag">Reset</span> <span class="hljs-selector-tag">Solarmanager</span> <span class="hljs-selector-tag">to</span> <span class="hljs-selector-tag">Chargeing</span> <span class="hljs-selector-tag">Solar</span> <span class="hljs-selector-tag">only</span>
  <span class="hljs-selector-tag">description</span>: <span class="hljs-selector-tag">Wird</span> <span class="hljs-selector-tag">getriggert</span>, <span class="hljs-selector-tag">wenn</span> <span class="hljs-selector-tag">das</span> <span class="hljs-selector-tag">Kabel</span> <span class="hljs-selector-tag">ausgezogen</span> <span class="hljs-selector-tag">wird</span>
    <span class="hljs-selector-tag">trigger</span>:
      <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">platform</span>: <span class="hljs-selector-tag">state</span>
        <span class="hljs-selector-tag">entity_id</span>:
          <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">binary_sensor</span><span class="hljs-selector-class">.bev_charging_cable_connected</span>
        <span class="hljs-selector-tag">from</span>: "<span class="hljs-selector-tag">on</span>"
        <span class="hljs-selector-tag">to</span>: "<span class="hljs-selector-tag">off</span>"
    <span class="hljs-selector-tag">condition</span>: <span class="hljs-selector-attr">&#91;]</span>
    <span class="hljs-selector-tag">action</span>:
      <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">service</span>: <span class="hljs-selector-tag">rest_command</span><span class="hljs-selector-class">.solarmanager_reset_chargeing_to_solaronly</span>
        <span class="hljs-selector-tag">data</span>: {}
    <span class="hljs-selector-tag">mode</span>: <span class="hljs-selector-tag">single</span>

</code></span></pre>


<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<h3 class="wp-block-heading">RESTful Command</h3>


<pre class="wp-block-code has-small-font-size"><span><code class="hljs language-javascript">rest_command:
  solarmanager_reset_chargeing_to_solaronly:
    url: https:<span class="hljs-comment">//cloud.solar-manager.ch/v1/control/car-charger/&lt;strong&gt;{{sensorId}}&lt;/strong&gt;</span>
    method: PUT
    <span class="hljs-attr">headers</span>:
      authorization: <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>!secret solarmanager_api<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span></span>
      accept: <span class="hljs-string">"application/json, text/html"</span>      
    <span class="hljs-attr">payload</span>: <span class="hljs-string">'{  "chargingMode": 1}'</span>
    <span class="hljs-attr">content_type</span>:  <span class="hljs-string">'application/json; charset=utf-8'</span>
    <span class="hljs-attr">verify_ssl</span>: <span class="hljs-literal">true</span></code></span></pre></div></div>



<p class="has-small-font-size">Im obigen Codebeispiel muss die korrekte Sensor Id ({{<strong>sensorId</strong>}} sowie die korrekte Autorisierung verwendet werden</p>
</div></div>



<p></p>



<h3 class="wp-block-heading">Weitere Infos</h3>



<ul class="wp-block-list">
<li><a href="https://external-web.solar-manager.ch/swagger" target="_blank" rel="noreferrer noopener">https://external-web.solar-manager.ch/swagger</a></li>



<li><a href="https://www.home-assistant.io/integrations/rest_command/" target="_blank" rel="noreferrer noopener">https://www.home-assistant.io/integrations/rest_command/</a></li>



<li><a href="https://www.home-assistant.io/docs/configuration/secrets/" target="_blank" rel="noreferrer noopener">https://www.home-assistant.io/docs/configuration/secrets/</a></li>



<li><a href="https://github.com/skodaconnect/homeassistant-skodaconnect">https://github.com/skodaconnect/homeassistant-skodaconnect</a></li>



<li><a href="https://github.com/egnerfl/alfen_wallbox">https://github.com/egnerfl/alfen_wallbox</a></li>
</ul><p>The post <a href="https://blog.braunschweiler.com/2024/05/10/zurueck-zu-nur-solar/">Zurück zu „nur Solar“</a> first appeared on <a href="https://blog.braunschweiler.com">Brownie's Blog</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.braunschweiler.com/2024/05/10/zurueck-zu-nur-solar/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Automatisierung für &#8222;Immer laden&#8220;</title>
		<link>https://blog.braunschweiler.com/2024/05/03/automatisierung-fuer-immer-laden/</link>
					<comments>https://blog.braunschweiler.com/2024/05/03/automatisierung-fuer-immer-laden/#comments</comments>
		
		<dc:creator><![CDATA[brownie]]></dc:creator>
		<pubDate>Fri, 03 May 2024 15:42:54 +0000</pubDate>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Software, Tools]]></category>
		<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[BEV]]></category>
		<category><![CDATA[Homeassistant]]></category>
		<category><![CDATA[Solarmanager]]></category>
		<guid isPermaLink="false">https://blog.braunschweiler.com/?p=1403</guid>

					<description><![CDATA[<p>Die Anforderung lautet: "Ich möchte mein Auto jetzt laden und zwar ohne Informatikkenntnisse"</p>
<p>The post <a href="https://blog.braunschweiler.com/2024/05/03/automatisierung-fuer-immer-laden/">Automatisierung für „Immer laden“</a> first appeared on <a href="https://blog.braunschweiler.com">Brownie's Blog</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Die Anforderung lautet: &#8222;Ich möchte mein Auto jetzt laden und zwar ohne Informatikkenntnisse&#8220;</p>



<h3 class="wp-block-heading">Voraussetzungen</h3>



<ul class="wp-block-list">
<li>Solar Manager</li>



<li>Wallbox mit Solar Manager verbunden</li>



<li>Home Assistant</li>
</ul>



<p>In diesem Beitrag will ich dir zeigen wie es möglich ist mit einer Automatisierung in Home Assistant die Wallbox im Solarmanager auf &#8222;Immer laden&#8220; zu schalten.</p>



<p>Für diese Automatisierung machen wir und wieder einen <a href="https://blog.braunschweiler.com/2024/04/26/solar-manager-api-via-home-assistant-abfragen/" data-type="post" data-id="1375">RESTful Command</a> zu nutze.</p>



<h3 class="wp-block-heading">RESTful Command</h3>


<pre class="wp-block-code has-small-font-size"><span><code class="hljs language-javascript">rest_command:
  solarmanager_fastcharge_on:
    url: https:<span class="hljs-comment">//cloud.solar-manager.ch/v1/control/car-charger/&lt;strong&gt;{{sensorId}}&lt;/strong&gt;</span>
    method: PUT
    <span class="hljs-attr">headers</span>:
      authorization: <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>!secret solarmanager_api<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span></span>
      accept: <span class="hljs-string">"application/json, text/html"</span>      
    <span class="hljs-attr">payload</span>: <span class="hljs-string">'{  "chargingMode": 0}'</span>
    <span class="hljs-attr">content_type</span>:  <span class="hljs-string">'application/json; charset=utf-8'</span>
    <span class="hljs-attr">verify_ssl</span>: <span class="hljs-literal">true</span></code></span></pre>


<p class="has-small-font-size">Im obigen Codebeispiel muss die korrekte Sensor Id ({{<strong>sensorId</strong>}} sowie die korrekte Autorisierung verwendet werden</p>



<p>Diesen Command können wir nun einfach in der Automatisierung in Home Assistant verwenden</p>



<h3 class="wp-block-heading">Automatisierung</h3>



<p>Das hier ist eine Automatisierung die aktuell keine Auslöser und auch keine Bedingungen hat. Es geht hier wirklich nur darum den RESTful Command auszulösen.</p>



<div class="wp-block-cover wp-duotone-unset-1"><span aria-hidden="true" class="wp-block-cover__background has-background-dim-0 has-background-dim"></span><img fetchpriority="high" decoding="async" width="700" height="447" class="wp-block-cover__image-background wp-image-1404" alt="" src="https://blog.braunschweiler.com/wp-content/uploads/2024/05/image-700x447.png" style="object-position:37% 54%" data-object-fit="cover" data-object-position="37% 54%" srcset="https://blog.braunschweiler.com/wp-content/uploads/2024/05/image-700x447.png 700w, https://blog.braunschweiler.com/wp-content/uploads/2024/05/image-300x192.png 300w, https://blog.braunschweiler.com/wp-content/uploads/2024/05/image-768x491.png 768w, https://blog.braunschweiler.com/wp-content/uploads/2024/05/image.png 1055w" sizes="(max-width: 700px) 100vw, 700px" /><div class="wp-block-cover__inner-container is-layout-flow wp-block-cover-is-layout-flow">
<p class="has-text-align-center has-large-font-size"></p>
</div></div>



<h4 class="wp-block-heading">Der YAML-Code sieht so aus</h4>


<pre class="wp-block-code has-small-font-size"><span><code class="hljs language-xml">
<span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>alias: BEV Start Chargeing now
description: Auto beginnt unmittelbar zu laden
trigger: &#91;]
condition: &#91;]
action:
  - service: rest_command.solarmanager_fastcharge_on
    data: {}
mode: single<span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span>
</code></span></pre>


<h3 class="wp-block-heading">Wie finde ich die richtige SensorId von meiner Wallbox</h3>



<p>Um die richtige SensorId zu finden kannst du diesen <code>https://cloud.solar-manager.ch/v1/info/sensors/{{smId}}</code> API Aufruf vom Solar Manager nutzen </p>



<h3 class="wp-block-heading">Weitere Infos</h3>



<ul class="wp-block-list">
<li><a href="https://external-web.solar-manager.ch/swagger" target="_blank" rel="noreferrer noopener">https://external-web.solar-manager.ch/swagger</a></li>



<li><a href="https://www.home-assistant.io/integrations/rest_command/" target="_blank" rel="noreferrer noopener">https://www.home-assistant.io/integrations/rest_command/</a></li>



<li><a href="https://www.home-assistant.io/docs/configuration/secrets/" target="_blank" rel="noreferrer noopener">https://www.home-assistant.io/docs/configuration/secrets/</a></li>
</ul><p>The post <a href="https://blog.braunschweiler.com/2024/05/03/automatisierung-fuer-immer-laden/">Automatisierung für „Immer laden“</a> first appeared on <a href="https://blog.braunschweiler.com">Brownie's Blog</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.braunschweiler.com/2024/05/03/automatisierung-fuer-immer-laden/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Solar Manager in Node-RED verwenden</title>
		<link>https://blog.braunschweiler.com/2024/04/26/solar-manager-in-node-red-verwenden/</link>
					<comments>https://blog.braunschweiler.com/2024/04/26/solar-manager-in-node-red-verwenden/#respond</comments>
		
		<dc:creator><![CDATA[brownie]]></dc:creator>
		<pubDate>Fri, 26 Apr 2024 20:49:51 +0000</pubDate>
				<category><![CDATA[Software, Tools]]></category>
		<category><![CDATA[Node-RED]]></category>
		<category><![CDATA[Solarmanager]]></category>
		<guid isPermaLink="false">https://blog.braunschweiler.com/?p=1377</guid>

					<description><![CDATA[<p>Die API vom Solarmanager kann natürlich auch via Node-RED konsumiert werden. Hier ein kleines Bespiel dafür Wenn du den Flow nicht selber machen willst kannst du den folgenden Code importieren: Nach dem Importieren muss du noch die Anmeldedaten von deinem Solarmanager Login im http-request Node eingeben. Weitere Infos</p>
<p>The post <a href="https://blog.braunschweiler.com/2024/04/26/solar-manager-in-node-red-verwenden/">Solar Manager in Node-RED verwenden</a> first appeared on <a href="https://blog.braunschweiler.com">Brownie's Blog</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Die API vom Solarmanager kann natürlich auch via Node-RED konsumiert werden. Hier ein kleines Bespiel dafür</p>



<figure class="wp-block-image size-large"><img decoding="async" width="700" height="62" src="https://blog.braunschweiler.com/wp-content/uploads/2024/04/image-1-700x62.png" alt="" class="wp-image-1389" srcset="https://blog.braunschweiler.com/wp-content/uploads/2024/04/image-1-700x62.png 700w, https://blog.braunschweiler.com/wp-content/uploads/2024/04/image-1-300x26.png 300w, https://blog.braunschweiler.com/wp-content/uploads/2024/04/image-1.png 751w" sizes="(max-width: 700px) 100vw, 700px" /></figure>



<p>Wenn du den Flow nicht selber machen willst kannst du den folgenden Code importieren:</p>


<pre class="wp-block-code has-small-font-size"><span><code class="hljs language-json">
&#91;
    {
        <span class="hljs-attr">"id"</span>: <span class="hljs-string">"29660baf1ea8883f"</span>,
        <span class="hljs-attr">"type"</span>: <span class="hljs-string">"tab"</span>,
        <span class="hljs-attr">"label"</span>: <span class="hljs-string">"Blog Demos (Solarmanager API)"</span>,
        <span class="hljs-attr">"disabled"</span>: <span class="hljs-literal">false</span>,
        <span class="hljs-attr">"info"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"env"</span>: &#91;]
    },
    {
        <span class="hljs-attr">"id"</span>: <span class="hljs-string">"fabcd8f46d92e5be"</span>,
        <span class="hljs-attr">"type"</span>: <span class="hljs-string">"http request"</span>,
        <span class="hljs-attr">"z"</span>: <span class="hljs-string">"29660baf1ea8883f"</span>,
        <span class="hljs-attr">"name"</span>: <span class="hljs-string">"Montatstats"</span>,
        <span class="hljs-attr">"method"</span>: <span class="hljs-string">"GET"</span>,
        <span class="hljs-attr">"ret"</span>: <span class="hljs-string">"txt"</span>,
        <span class="hljs-attr">"paytoqs"</span>: <span class="hljs-string">"ignore"</span>,
        <span class="hljs-attr">"url"</span>: <span class="hljs-string">"https://cloud.solar-manager.ch/v1/consumption/gateway/{{smId}}?period=month"</span>,
        <span class="hljs-attr">"tls"</span>: <span class="hljs-string">"9e2506617d70d2bf"</span>,
        <span class="hljs-attr">"persist"</span>: <span class="hljs-literal">false</span>,
        <span class="hljs-attr">"proxy"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"insecureHTTPParser"</span>: <span class="hljs-literal">false</span>,
        <span class="hljs-attr">"authType"</span>: <span class="hljs-string">"basic"</span>,
        <span class="hljs-attr">"senderr"</span>: <span class="hljs-literal">false</span>,
        <span class="hljs-attr">"headers"</span>: &#91;],
        <span class="hljs-attr">"x"</span>: <span class="hljs-number">730</span>,
        <span class="hljs-attr">"y"</span>: <span class="hljs-number">300</span>,
        <span class="hljs-attr">"wires"</span>: &#91;
            &#91;
                <span class="hljs-string">"0f7b9fb4164095eb"</span>
            ]
        ]
    },
    {
        <span class="hljs-attr">"id"</span>: <span class="hljs-string">"0f7b9fb4164095eb"</span>,
        <span class="hljs-attr">"type"</span>: <span class="hljs-string">"json"</span>,
        <span class="hljs-attr">"z"</span>: <span class="hljs-string">"29660baf1ea8883f"</span>,
        <span class="hljs-attr">"name"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"property"</span>: <span class="hljs-string">"payload"</span>,
        <span class="hljs-attr">"action"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"pretty"</span>: <span class="hljs-literal">false</span>,
        <span class="hljs-attr">"x"</span>: <span class="hljs-number">910</span>,
        <span class="hljs-attr">"y"</span>: <span class="hljs-number">300</span>,
        <span class="hljs-attr">"wires"</span>: &#91;
            &#91;
                <span class="hljs-string">"382a7b26cbeb5c40"</span>
            ]
        ]
    },
    {
        <span class="hljs-attr">"id"</span>: <span class="hljs-string">"28914758fe2deedc"</span>,
        <span class="hljs-attr">"type"</span>: <span class="hljs-string">"inject"</span>,
        <span class="hljs-attr">"z"</span>: <span class="hljs-string">"29660baf1ea8883f"</span>,
        <span class="hljs-attr">"name"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"props"</span>: &#91;
            {
                <span class="hljs-attr">"p"</span>: <span class="hljs-string">"payload"</span>
            },
            {
                <span class="hljs-attr">"p"</span>: <span class="hljs-string">"topic"</span>,
                <span class="hljs-attr">"vt"</span>: <span class="hljs-string">"str"</span>
            }
        ],
        <span class="hljs-attr">"repeat"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"crontab"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"once"</span>: <span class="hljs-literal">false</span>,
        <span class="hljs-attr">"onceDelay"</span>: <span class="hljs-number">0.1</span>,
        <span class="hljs-attr">"topic"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"payload"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"payloadType"</span>: <span class="hljs-string">"date"</span>,
        <span class="hljs-attr">"x"</span>: <span class="hljs-number">520</span>,
        <span class="hljs-attr">"y"</span>: <span class="hljs-number">300</span>,
        <span class="hljs-attr">"wires"</span>: &#91;
            &#91;
                <span class="hljs-string">"fabcd8f46d92e5be"</span>
            ]
        ]
    },
    {
        <span class="hljs-attr">"id"</span>: <span class="hljs-string">"382a7b26cbeb5c40"</span>,
        <span class="hljs-attr">"type"</span>: <span class="hljs-string">"debug"</span>,
        <span class="hljs-attr">"z"</span>: <span class="hljs-string">"29660baf1ea8883f"</span>,
        <span class="hljs-attr">"name"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"active"</span>: <span class="hljs-literal">true</span>,
        <span class="hljs-attr">"tosidebar"</span>: <span class="hljs-literal">true</span>,
        <span class="hljs-attr">"console"</span>: <span class="hljs-literal">false</span>,
        <span class="hljs-attr">"tostatus"</span>: <span class="hljs-literal">false</span>,
        <span class="hljs-attr">"complete"</span>: <span class="hljs-string">"false"</span>,
        <span class="hljs-attr">"statusVal"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"statusType"</span>: <span class="hljs-string">"auto"</span>,
        <span class="hljs-attr">"x"</span>: <span class="hljs-number">1090</span>,
        <span class="hljs-attr">"y"</span>: <span class="hljs-number">300</span>,
        <span class="hljs-attr">"wires"</span>: &#91;]
    },
    {
        <span class="hljs-attr">"id"</span>: <span class="hljs-string">"9e2506617d70d2bf"</span>,
        <span class="hljs-attr">"type"</span>: <span class="hljs-string">"tls-config"</span>,
        <span class="hljs-attr">"name"</span>: <span class="hljs-string">"Accept-Untrusted-Certs"</span>,
        <span class="hljs-attr">"cert"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"key"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"ca"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"certname"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"keyname"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"caname"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"servername"</span>: <span class="hljs-string">""</span>,
        <span class="hljs-attr">"verifyservercert"</span>: <span class="hljs-literal">false</span>,
        <span class="hljs-attr">"alpnprotocol"</span>: <span class="hljs-string">""</span>
    }
]</code></span></pre>


<p>Nach dem Importieren muss du noch die Anmeldedaten von deinem Solarmanager Login im http-request Node eingeben. </p>



<figure class="wp-block-image size-full"><img decoding="async" width="464" height="684" src="https://blog.braunschweiler.com/wp-content/uploads/2024/04/image-2.png" alt="" class="wp-image-1390" srcset="https://blog.braunschweiler.com/wp-content/uploads/2024/04/image-2.png 464w, https://blog.braunschweiler.com/wp-content/uploads/2024/04/image-2-204x300.png 204w" sizes="(max-width: 464px) 100vw, 464px" /></figure>



<p></p>



<h3 class="wp-block-heading"><strong>Weitere Infos</strong></h3>



<ul class="wp-block-list">
<li><a href="https://blog.braunschweiler.com/2024/04/26/solar-manager-api-via-home-assistant-abfragen/" data-type="post" data-id="1375">Solar Manager API via Home Assistant abfragen</a> </li>



<li><a href="https://nodered.org/" target="_blank" rel="noreferrer noopener">https://nodered.org/</a></li>
</ul>



<p class="has-text-align-justify"></p><p>The post <a href="https://blog.braunschweiler.com/2024/04/26/solar-manager-in-node-red-verwenden/">Solar Manager in Node-RED verwenden</a> first appeared on <a href="https://blog.braunschweiler.com">Brownie's Blog</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.braunschweiler.com/2024/04/26/solar-manager-in-node-red-verwenden/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Solar Manager API via Home Assistant abfragen</title>
		<link>https://blog.braunschweiler.com/2024/04/26/solar-manager-api-via-home-assistant-abfragen/</link>
					<comments>https://blog.braunschweiler.com/2024/04/26/solar-manager-api-via-home-assistant-abfragen/#comments</comments>
		
		<dc:creator><![CDATA[brownie]]></dc:creator>
		<pubDate>Fri, 26 Apr 2024 20:01:55 +0000</pubDate>
				<category><![CDATA[Software, Tools]]></category>
		<category><![CDATA[Homeassistant]]></category>
		<category><![CDATA[Solarmanager]]></category>
		<guid isPermaLink="false">https://blog.braunschweiler.com/?p=1375</guid>

					<description><![CDATA[<p>Der Solar Manager bietet eine offene API an, welche bequem genutzt werden kann, um den Solar Manager zu steuern oder abzufragen. Erstellen eines RESTful Command um die Verbrauchs/Produktionszahlen vom Monat via Solar Manager API abzufragen Im obigen Codebeispiel muss die korrekte Solarmanager Id ({{smId}} sowie die korrekte Autorisierung verwendet werden Dieser soeben erstellte Dienst kann [&#8230;]</p>
<p>The post <a href="https://blog.braunschweiler.com/2024/04/26/solar-manager-api-via-home-assistant-abfragen/">Solar Manager API via Home Assistant abfragen</a> first appeared on <a href="https://blog.braunschweiler.com">Brownie's Blog</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Der Solar Manager bietet eine offene API an, welche bequem genutzt werden kann, um den Solar Manager zu steuern oder abzufragen.</p>



<p>Erstellen eines RESTful Command um die Verbrauchs/Produktionszahlen vom Monat via Solar Manager API abzufragen</p>


<pre class="wp-block-code has-small-font-size"><span><code class="hljs language-javascript">rest_command:
  solarmanager_current_consumtion_per_month:
    url: <span class="hljs-string">'https://cloud.solar-manager.ch/v1/consumption/gateway/&lt;strong&gt;{{smId}}&lt;/strong&gt;?period=month'</span>    
    <span class="hljs-attr">method</span>: GET
    <span class="hljs-attr">headers</span>:
      authorization: <span class="xml"><span class="hljs-tag">&lt;<span class="hljs-name">strong</span>&gt;</span>!secret solarmanager_api<span class="hljs-tag">&lt;/<span class="hljs-name">strong</span>&gt;</span></span>
      accept: <span class="hljs-string">"application/json"</span>          
    <span class="hljs-attr">content_type</span>:  <span class="hljs-string">'application/json; charset=utf-8'</span>
    <span class="hljs-attr">verify_ssl</span>: <span class="hljs-literal">true</span></code></span></pre>


<p>Im obigen Codebeispiel muss die korrekte Solarmanager Id ({{smId}} sowie die korrekte Autorisierung verwendet werden</p>



<p>Dieser soeben erstellte Dienst kann nun ganz normal in Home Assistant verwendet werden</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="663" height="145" src="https://blog.braunschweiler.com/wp-content/uploads/2024/04/image.png" alt="" class="wp-image-1379" style="width:632px;height:auto" srcset="https://blog.braunschweiler.com/wp-content/uploads/2024/04/image.png 663w, https://blog.braunschweiler.com/wp-content/uploads/2024/04/image-300x66.png 300w" sizes="auto, (max-width: 663px) 100vw, 663px" /></figure>



<h3 class="wp-block-heading">Weitere Infos</h3>



<ul class="wp-block-list">
<li><a href="https://external-web.solar-manager.ch/swagger" target="_blank" rel="noreferrer noopener">https://external-web.solar-manager.ch/swagger</a></li>



<li><a href="https://www.home-assistant.io/integrations/rest_command/" target="_blank" rel="noreferrer noopener">https://www.home-assistant.io/integrations/rest_command/</a></li>



<li><a href="https://www.home-assistant.io/docs/configuration/secrets/" target="_blank" rel="noreferrer noopener">https://www.home-assistant.io/docs/configuration/secrets/</a></li>
</ul><p>The post <a href="https://blog.braunschweiler.com/2024/04/26/solar-manager-api-via-home-assistant-abfragen/">Solar Manager API via Home Assistant abfragen</a> first appeared on <a href="https://blog.braunschweiler.com">Brownie's Blog</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://blog.braunschweiler.com/2024/04/26/solar-manager-api-via-home-assistant-abfragen/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
