<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[getForeignState Funktion]]></title><description><![CDATA[<p dir="auto">Hallo, ich versuche mich gerade in der Adapterentwicklung und versuche mit getForeignState auf ein State unter 0_userdata.0.testNumber zuzugreifen.<br />
Mein Code in der main.js onReady Funktion:</p>
<pre><code>this.getForeignState("0_userdata.0.testNumber", function (err, myState){
			if (err) {
				this.log.error(err);
			} else {
				if(!myState){
					this.log.info("Value empty");
				} else {
					this.log.info("Value: " + myState.val);
				}
			}
		});
</code></pre>
<p dir="auto">Leider bekomme ich folgenden Fehler im Log:</p>
<pre><code>2022-05-30 13:54:55.585  - error: test-project.0 (27966) uncaught exception: Cannot read properties of undefined (reading 'info')
2022-05-30 13:54:55.585  - error: test-project.0 (27966) TypeError: Cannot read properties of undefined (reading 'info')
    at Immediate.&lt;anonymous&gt; (/home/andy/ioBroker.test-project/.dev-server/default/node_modules/iobroker.test-project/main.js:64:15)
    at processImmediate (node:internal/timers:468:21)
2022-05-30 13:54:55.585  - error: test-project.0 (27966) Cannot read properties of undefined (reading 'info')
2022-05-30 13:54:55.586  - info: test-project.0 (27966) terminating
2022-05-30 13:54:55.586  - warn: test-project.0 (27966) Terminated (UNCAUGHT_EXCEPTION): Without reason
[nodemon] app crashed - waiting for file changes before starting...

</code></pre>
<p dir="auto">Hat jemand eine Idee waren das liegen kann?</p>
<p dir="auto">Danke und viele Grüße</p>
]]></description><link>https://forum.iobroker.net/topic/55277/getforeignstate-funktion</link><generator>RSS for Node</generator><lastBuildDate>Thu, 21 May 2026 04:21:50 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/55277.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 May 2022 12:28:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to getForeignState Funktion on Wed, 08 Jun 2022 14:41:25 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/garfunkel" aria-label="Profile: garfunkel">@<bdi>garfunkel</bdi></a> sagte in <a href="/post/807785">getForeignState Funktion</a>:</p>
<blockquote>
<p dir="auto">Hat jemand eine Idee waren das liegen kann?</p>
</blockquote>
<p dir="auto">Das liegt am Scope der Callback-Funktion. Best-Practice ist daher Arrow Functions zu nutzen, damit <code>this</code> erhalten bleibt und man keine Workarounds wie <code>let self = this;</code> machen muss. So würde es funktionieren:</p>
<pre><code>this.getForeignState("0_userdata.0.testNumber", (err, myState) =&gt; {
	if (err) {
		this.log.error(err);
	} else {
		if(!myState){
			this.log.info("Value empty");
		} else {
			this.log.info("Value: " + myState.val);
		}
	}
});
</code></pre>
<p dir="auto">Siehe auch: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions" rel="nofollow ugc">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions</a></p>
]]></description><link>https://forum.iobroker.net/post/811861</link><guid isPermaLink="true">https://forum.iobroker.net/post/811861</guid><dc:creator><![CDATA[haus-automatisierung]]></dc:creator><pubDate>Wed, 08 Jun 2022 14:41:25 GMT</pubDate></item><item><title><![CDATA[Reply to getForeignState Funktion on Mon, 30 May 2022 13:17:19 GMT]]></title><description><![CDATA[<p dir="auto">@iwg<br />
Danke. Aber ich bin mir sicher, da werden noch paar Fragen kommen.</p>
<p dir="auto">Lese mich gerade ein und probiere etwas rum. Der der-Server ist schon ne echt coole Sache.</p>
<p dir="auto">Viele Grüße</p>
]]></description><link>https://forum.iobroker.net/post/807836</link><guid isPermaLink="true">https://forum.iobroker.net/post/807836</guid><dc:creator><![CDATA[garfunkel]]></dc:creator><pubDate>Mon, 30 May 2022 13:17:19 GMT</pubDate></item><item><title><![CDATA[Reply to getForeignState Funktion on Mon, 30 May 2022 12:47:32 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/garfunkel" aria-label="Profile: garfunkel">@<bdi>garfunkel</bdi></a><br />
Freut mich. Viel Spaß beim Adapter-n ;)</p>
]]></description><link>https://forum.iobroker.net/post/807805</link><guid isPermaLink="true">https://forum.iobroker.net/post/807805</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Mon, 30 May 2022 12:47:32 GMT</pubDate></item><item><title><![CDATA[Reply to getForeignState Funktion on Mon, 30 May 2022 12:46:47 GMT]]></title><description><![CDATA[<p dir="auto">@iwg<br />
Super, das hat funktioniert.</p>
<p dir="auto">Danke!</p>
]]></description><link>https://forum.iobroker.net/post/807803</link><guid isPermaLink="true">https://forum.iobroker.net/post/807803</guid><dc:creator><![CDATA[garfunkel]]></dc:creator><pubDate>Mon, 30 May 2022 12:46:47 GMT</pubDate></item><item><title><![CDATA[Reply to getForeignState Funktion on Mon, 30 May 2022 12:37:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/garfunkel" aria-label="Profile: garfunkel">@<bdi>garfunkel</bdi></a><br />
Der Callback wird nicht im Kontext von Deinem Adapter aufgerufen, i.e., this im Callback ist nicht die Adapter-Instanz, deswegen this.log ist undefined.</p>
<p dir="auto">Mach einfach so was wie:</p>
<pre><code>let self = this;
this.getForeignState("...", function(err, myState) {
      .... self.log.info("....")
})
</code></pre>
]]></description><link>https://forum.iobroker.net/post/807791</link><guid isPermaLink="true">https://forum.iobroker.net/post/807791</guid><dc:creator><![CDATA[[[global:former-user]]]]></dc:creator><pubDate>Mon, 30 May 2022 12:37:03 GMT</pubDate></item></channel></rss>