<?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>Uncategorized | DXSdata</title>
	<atom:link href="https://www.dxsdata.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dxsdata.com</link>
	<description>Software &#124; Network &#124; Administration</description>
	<lastBuildDate>Fri, 14 Jul 2017 07:46:58 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://www.dxsdata.com/wp-content/uploads/2023/08/cropped-logo-32x32.jpg</url>
	<title>Uncategorized | DXSdata</title>
	<link>https://www.dxsdata.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>[:de]Skyteam Gorilla: Gemischschraube optimieren[:en]Skyteam Gorilla: Optimize mixture screw[:]</title>
		<link>https://www.dxsdata.com/2017/07/skyteam-gorilla-optimize-mixture-screw/</link>
					<comments>https://www.dxsdata.com/2017/07/skyteam-gorilla-optimize-mixture-screw/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 14 Jul 2017 07:46:58 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://www.dxsdata.com/?p=1808</guid>

					<description><![CDATA[[:de]   Standardmäßig ist es bei der Skyteam Gorilla (vermutlich auch beim Monkey) sehr schwierig, im eingebauten Zustand an die Luft-/Gemischschraube des Vergasers zu kommen &#8211; auch mit Spezialwerkzeug nahezu unmöglich. Bekannterweise lässt sich der Vergaser jedoch nur im eingebauten Zustand genau einstellen. Lösung Anlöten eines gewöhnlichen Bit, z.B. vom Akkuschrauber. An dieses evtl. noch eine [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[:de]<a href="https://www.dxsdata.com/wp-content/uploads/2017/07/20170707_152139.jpg" rel="attachment wp-att-1813"><img loading="lazy" decoding="async" class="alignright size-medium wp-image-1813" src="https://www.dxsdata.com/wp-content/uploads/2017/07/20170707_152139-300x169.jpg" alt="" width="300" height="169" /></a>   Standardmäßig ist es bei der Skyteam Gorilla (vermutlich auch beim Monkey) sehr schwierig, im eingebauten Zustand an die Luft-/Gemischschraube des Vergasers zu kommen &#8211; auch mit Spezialwerkzeug nahezu unmöglich.</p>
<p>Bekannterweise lässt sich der Vergaser jedoch nur im eingebauten Zustand genau einstellen.</p>
<h3>Lösung</h3>
<p>Anlöten eines gewöhnlichen Bit, z.B. vom Akkuschrauber. An dieses evtl. noch eine etwas größere Mutter löten, um die Einstellung auch per Hand oder Schraubenschlüssel vornehmen zu können.<a href="https://www.dxsdata.com/wp-content/uploads/2017/07/20170707_183812.jpg" rel="attachment wp-att-1812"></a></p>
<p><a href="https://www.dxsdata.com/wp-content/uploads/2017/07/20170707_182914.jpg" rel="attachment wp-att-1810"><img loading="lazy" decoding="async" class="size-medium wp-image-1810 aligncenter" src="https://www.dxsdata.com/wp-content/uploads/2017/07/20170707_182914-300x169.jpg" alt="" width="300" height="169" /></a></p>
<p>Der Vorgang eignet sich gut z.B. in Kombination mit einer Reinigung des Vergasers, da die Einstellschraube zum Löten unbedingt ausgebaut sein muss (würde ansonsten Dichtring etc. beschädigen).</p>
<p>Vorher die Teile gut reinigen und am besten auch Lötfett auftragen.</p>
<p>Beim Löten darauf achten, dass das Zinn keinen größeren Durchmesser einnimmt als das Schraubengewinde selbst.</p>
<p>Das Ergebnis kann dann folgendermaßen aussehen:</p>
<p><img loading="lazy" decoding="async" class="size-medium wp-image-1812 aligncenter" src="https://www.dxsdata.com/wp-content/uploads/2017/07/20170707_183812-169x300.jpg" alt="" width="169" height="300" /><a href="https://www.dxsdata.com/wp-content/uploads/2017/07/20170707_183428.jpg" rel="attachment wp-att-1811"><img loading="lazy" decoding="async" class="size-medium wp-image-1811 aligncenter" src="https://www.dxsdata.com/wp-content/uploads/2017/07/20170707_183428-300x169.jpg" alt="" width="300" height="169" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>(In Verwendung sind Originalmotor sowie Originalvergaser Mikuni 22)[:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2017/07/skyteam-gorilla-optimize-mixture-screw/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[:de]Alpha-Innotec Wärmepumpe Fehler 738 beheben[:en]Solving Alpha-Innotec heatpump Error 738[:]</title>
		<link>https://www.dxsdata.com/2016/11/solving-alpha-innotec-heatpump-error-738/</link>
					<comments>https://www.dxsdata.com/2016/11/solving-alpha-innotec-heatpump-error-738/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sat, 19 Nov 2016 23:22:33 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://www.dxsdata.com/?p=1308</guid>

					<description><![CDATA[[:de]Wärmepumpe: Siemens Novelan L2I, Alpha Innotec Luxcontroller / Luxtronik 1.6 Error 738 Bedeutung: Fehlerhafte oder keine Werte beim &#8220;Fühler Mischkreis 2&#8221;. Dieser Temperatursensor misst die Vorlauf-Isttemperatur des zweiten Heizkreises und ist im Normalfall auf der Außenseite des entsprechenden Rohres montiert, sowie unter der Schaumstoffdämmung verpackt und evtl. mit Wärmeleitpaste umgeben. Lösung ist oftmals der Tausch [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[:de]Wärmepumpe: Siemens Novelan L2I, Alpha Innotec Luxcontroller / Luxtronik 1.6</p>
<p>Error 738 Bedeutung: Fehlerhafte oder keine Werte beim &#8220;Fühler Mischkreis 2&#8221;. Dieser Temperatursensor misst die Vorlauf-Isttemperatur des zweiten Heizkreises und ist im Normalfall auf der Außenseite des entsprechenden Rohres montiert, sowie unter der Schaumstoffdämmung verpackt und evtl. mit Wärmeleitpaste umgeben.</p>
<p><a href="https://www.dxsdata.com/wp-content/uploads/2016/11/temperaturfühler-vorlauf-wärmepumpe-1.png" rel="attachment wp-att-1310"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-1310" src="https://www.dxsdata.com/wp-content/uploads/2016/11/temperaturfühler-vorlauf-wärmepumpe-1-265x300.png" alt="temperaturfuhler-vorlauf-warmepumpe-1" width="265" height="300" /></a></p>
<p><a href="https://www.dxsdata.com/wp-content/uploads/2016/11/temperaturfühler-vorlauf-wärmepumpe-2.jpg" rel="attachment wp-att-1309"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-1309" src="https://www.dxsdata.com/wp-content/uploads/2016/11/temperaturfühler-vorlauf-wärmepumpe-2-169x300.jpg" alt="temperaturfuhler-vorlauf-warmepumpe-2" width="169" height="300" /></a></p>
<p>Lösung ist oftmals der Tausch des Sensors. Leider sind bei dieser Steuerung die meistverwendeten 5K- oder 10K-Fühler, wie sie bei ebay etc. angeboten werden, nicht passend. Man benötigt ein Modell, das 2,2kOhm bei 25 °C liefert (genaue Richtwerte siehe am Ende des Alpha Innotec-Handbuchs).</p>
<p>Passend ist z.B. der Sensor EPCOS B57891S222F8, erhältlich bei <a href="http://www.mouser.at/search/ProductDetail.aspx?r=871-B57891S222F8">Mouser</a> auch für Privatkunden.</p>
<p>Der Tausch ist relativ einfach durchführbar (2 Kontakte, Polung spielt keine Rolle, mit Wärmeleitpaste am Rohr an der Originalposition anbringen).[:]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2016/11/solving-alpha-innotec-heatpump-error-738/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Zugriffssicherheit am EIB-/KNX-Bus</title>
		<link>https://www.dxsdata.com/2014/08/zugriffssicherheit-am-eib-knx-bus/</link>
					<comments>https://www.dxsdata.com/2014/08/zugriffssicherheit-am-eib-knx-bus/#respond</comments>
		
		<dc:creator><![CDATA[ds]]></dc:creator>
		<pubDate>Wed, 13 Aug 2014 13:45:41 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://eibknx.schausberger.cc/?p=66</guid>

					<description><![CDATA[Einer KNX-Installation, vor allem in Kombination mit KNX-IP-Gateway, stehen eine Unzahl an Angriffsmöglichkeiten gegenüber. Der Bus selbst bietet keinerlei Authentifizierungsmechanismen oder sonstige Sicherheitsmechanismen. Für die meisten Fälle gibt es vernünftige Gegenmaßnahmen, allerdings sollte der Bedienungskomfort nicht allzu sehr darunter leiden. Dazu hier einige Tipps. Zugriff über das Internet Diese Zugriffsvariante beinhaltet das mit Abstand größte [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Einer KNX-Installation, vor allem in Kombination mit KNX-IP-Gateway, stehen eine Unzahl an Angriffsmöglichkeiten gegenüber. Der Bus selbst bietet keinerlei Authentifizierungsmechanismen oder sonstige Sicherheitsmechanismen.</p>
<p>Für die meisten Fälle gibt es vernünftige Gegenmaßnahmen, allerdings sollte der Bedienungskomfort nicht allzu sehr darunter leiden. Dazu hier einige Tipps.</p>
<p><strong>Zugriff über das Internet</strong></p>
<p>Diese Zugriffsvariante beinhaltet das mit Abstand größte Gefahrenpotenzial und sollte daher gut durchdacht sein.</p>
<p>Im Normalfall befindet sich im selben Netzwerk, in dem sich der KNX-IP-Gateway und somit auch der Bus befindet, ein Internetrouter. Über Port-Forwardings lässt sich dieser so konfigurieren, dass z.B. interne Webserver oder eine Bus-Visualisierung von außen erreichbar sind.</p>
<p>Auch wenn die Visualisierung selbst Zugangsdaten anfordert, ist dies extrem unsicher. Außerdem kommt es vor, dass solche Software Sicherheitslücken aufweist, die möglicherweise noch nicht behoben sind.</p>
<p>Für solche Dinge daher unbedingt ein VPN verwenden! Im einfachsten Fall lässt sich dieses auf dem Internetrouter oder auf einem internen Windows-/Linux-Betriebssystem einrichten. Der Bedienungskomfort bleibt hier nicht unbedingt auf der Strecke, da so gut wie alle gängigen Smartphones und PC-Betriebssysteme in irgend einer Form VPN-kompatibel sind und es sich bei Bedarf relativ schnell aktivieren lässt.</p>
<p>Diese &#8220;2-stufige&#8221; Sicherheit ist um ein Vielfaches schwieriger zu umgehen, als wenn der Angreifer bloß Passwörter bei der Visualisierung probieren muss.</p>
<p><strong>Im lokalen Netzwerk: LAN-Ports und WLAN absichern</strong></p>
<p>Ein Angriff ist zwar, verglichen mit der ersten Variante, vor allem in Privathäusern relativ unwahrscheinlich, aber trotzdem nicht unmöglich.</p>
<p>Für den Fall, dass sich verbundene LAN-Ports außerhalb der Gebäudes befinden oder es vorkommen kann, dass Mitbewohner oder Mitarbeiter dubiose Hardware ins Netzwerk bringen, sollten diese besonders geschützt werden.</p>
<p>Möglichkeiten:</p>
<ul>
<li>Über den internen (managed) Switch die bestimmten Ports so konfigurieren, dass sie nur einzelne MAC-Adressen zulassen, und zwar die der vertrauenswürdigen Geräte. MAC-Adressen können jedoch bei vielen Endgeräten selbst vergeben bzw. überschrieben werden. Trotzdem macht diese Variante den Zugriff für Angreifer um einiges schwieriger.</li>
<li>Tagged VLANs konfigurieren. Damit lässt sich genauer bestimmen, welches Gerät im Netzwerk auf welche Ziele zugreifen darf. Die Einrichtung ist jedoch relativ aufwändig und für den Privathaushalt eher vernachlässigbar.</li>
</ul>
<p>Für das WLAN empfiehlt es sich, möglichst sichere Passwörter zu vergeben, und zwar pro Benutzer &#8211; je nach Möglichkeit im Idealfall kombiniert mit WPA2-Enterprise und einem Radius-Server. Gästezugriff grundsätzlich vermeiden oder einen eigenen Gast-Zugang, ev. mit VLAN, einrichten.</p>
<p><strong>KNX-Leitungen im Außenbereich</strong></p>
<p>Soweit möglich, ist für den Außenbereich eine eigene Bus-Linie sinnvoll, d.h. mit eigener Spannungsversorgung und vom internen Busnetz getrennt durch einen Linienkoppler. Falls nun jemand die Leitung von außen kurzschließen sollte (warum auch immer &#8211; bringt niemandem etwas), laufen die Geräte auf den anderen Linien weiter. Ein Kurzschluss auf dem Bus zerstört übrigens keine Geräte, sondern bewirkt im Prinzip &#8220;nur&#8221; einen Reset.</p>
<p>Ob jemand von außen den Bus tatsächlich so manipulieren kann, um z.B. ein Öffnen einer Tür etc. zu bewirken, kommt natürlich darauf an, wie genau dieser über den gesamten Aufbau Bescheid weiß. Ohne jegliche Informationen dauert es wohl in Summe (zu) lange, um eine entsprechende GA zu finden, falls überhaupt vorhanden. Generell fehlen leider sinnvolle / einfache Möglichkeiten, um hier mehr Sicherheit schaffen zu können.</p>
<p>Um unerlaubte Programmierungen zu verhindern, empfiehlt sich das Modul <a href="http://www.bb-steuerungstechnik.de/cms/de/produkte/gebaeudeautomation/eibknx-betriebssicherheit/eibknx-betriebssicherheit/knxguard-der-sicherheitsbaustein.html">KNXGuard</a>. Möglicherweise wäre etwas Ähnliches auch über den eibd-Server möglich, dazu habe ich aber (noch) keine Informationen.</p>
<p><strong>Im lokalen Netzwerk: Visualisierung, EIB-Server absichern</strong></p>
<p>Sollte es der Angreifer bis ins LAN schaffen, sind jedenfalls sichere Passwörter für die einzelnen Geräte mit IP-basiertem Zugang hilfreich.</p>
<p>Bei Visualisierungen wie openHAB oder Systemen, die solche anbieten (Gira Homeserver), ist das Einrichten einer Authentifizierung normalerweise kein Problem.</p>
<p>Auch beim <a href="http://www.auto.tuwien.ac.at/~mkoegler/index.php/eibd">eibd</a>, der unter Linux läuft, lässt sich auf dem System eine Firewall einrichten &#8211; unter Ubuntu z.B. die ufw. Sie ist relativ einfach zu handhaben und man schränkt damit den Zugriff der Geräte, denen der Zugriff auf eibd erlaubt ist, ein wie gewünscht.</p>
<p>Ein großes Sicherheitsproblem stellt jedoch der KNX-IP-Gateway dar. Diese Geräte besitzen meist absolut keine sicherheitstechnischen Funktionen, um den Zugriff einzuschränken. Folgendes ist daher empfehlenswert:</p>
<ul>
<li>VLAN, wie oben beschrieben, in dem sich nur vertrauenswürdige Geräte befinden, oder</li>
<li>Router mit Firewall-Funktion zwischen Gateway und Switch (gibt es relativ günstig). Dabei sollte vor allem der UDP-Port 3671 genau behandelt werden. Oder</li>
<li>Verwendung der DMZ-Funktion des Routers, falls vorhanden, oder</li>
<li>Ist ein Hostserver für virtuelle Maschinen vorhanden (z.B. MS Hyper-V), kann eine separate VM mit eigenem virtuellen Switch als Firewall zwischen LAN und KNX-Gateway dienen. Dabei wäre allerdings eine separate Netzwerkkarte pro Gateway notwendig.</li>
</ul>
<p>Module wie das eibmarkt KNX IP Gateway haben hier noch den kleinen Sicherheits-&#8220;Vorteil&#8221;, dass zu einem Zeitpunkt nur 1 Verbindung möglich ist. Ist z.B. ein eibd mit dem Gateway verbunden, ist es quasi für weitere Verbindungen gesperrt.</p>
<p>Alle Angaben ohne Gewähr!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2014/08/zugriffssicherheit-am-eib-knx-bus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Nagios Plugin for monitoring EIB / KNX group addresses</title>
		<link>https://www.dxsdata.com/2014/08/nagios-plugin-for-monitoring-eib-knx-group-addresses/</link>
					<comments>https://www.dxsdata.com/2014/08/nagios-plugin-for-monitoring-eib-knx-group-addresses/#respond</comments>
		
		<dc:creator><![CDATA[ds]]></dc:creator>
		<pubDate>Wed, 13 Aug 2014 06:06:47 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://dev.schausberger.cc/?p=185</guid>

					<description><![CDATA[You can monitor basic functionality of KNX components with the components you find on this site. Unfortunately, they don&#8217;t offer a script for reading KNX group addresses. According to check_maskversion.pl, I modified the script a bit to be able to get KNX GA values: check_knx_groupaddress.pl. You can e.g. use it for checking GAs periodically for errors, e.g. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>You can monitor basic functionality of KNX components with the components you find <a href="https://www.monitoringexchange.org/inventory/Check-Plugins/Others/Monitoring-EIB-and-KNX-Components">on this site</a>. Unfortunately, they don&#8217;t offer a script for reading KNX group addresses.</p>
<p>According to check_maskversion.pl, I modified the script a bit to be able to get KNX GA values: check_knx_groupaddress.pl. You can e.g. use it for checking GAs periodically for errors, e.g. some KNX devices offer GAs like &#8220;device failure&#8221;, &#8220;no signal&#8221; etc. It basically does the following:</p>
<ul>
<li>It runs the groupreadresponse command of the bcusdk package, which is also needed for the other KNX plugins.</li>
<li>If the GA returns 0/false, the plugin returns OK -&gt; no error. Otherwise you receive an alarm in Nagios.</li>
</ul>
<p>You can download the Perl plugin here: <a href="https://www.dxsdata.com/wp-content/uploads/2014/08/check_knx_groupaddress.zip">check_knx_groupaddress</a></p>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2014/08/nagios-plugin-for-monitoring-eib-knx-group-addresses/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Nagios-Plugins zur Überwachung von EIB-/KNX-Komponenten</title>
		<link>https://www.dxsdata.com/2014/08/nagios-plugins-zur-uberwachung-von-eib-knx-komponenten/</link>
					<comments>https://www.dxsdata.com/2014/08/nagios-plugins-zur-uberwachung-von-eib-knx-komponenten/#respond</comments>
		
		<dc:creator><![CDATA[ds]]></dc:creator>
		<pubDate>Wed, 13 Aug 2014 06:12:43 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://eibknx.schausberger.cc/?p=64</guid>

					<description><![CDATA[Wenn es um die Überwachung der Basisfunktionen von KNX-Modulen geht, sind die Plugins von dieser Seite sehr empfehlenswert. Habe in meinem Dev-Blog ein weiteres Modul als Ergänzung zur Verfügung gestellt, um auch Gruppenadressen abfragen zu können. Dies kann z.B. für GAs sinnvoll sein, die Störungen beinhalten, wie &#8220;Heizspannung ausgefallen&#8221;, &#8220;Drahtbruch&#8221; etc. Funktion: Kommt von der [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Wenn es um die Überwachung der Basisfunktionen von KNX-Modulen geht, sind die Plugins von <a href="https://www.monitoringexchange.org/inventory/Check-Plugins/Others/Monitoring-EIB-and-KNX-Components">dieser Seite </a>sehr empfehlenswert.</p>
<p>Habe in meinem <a href="http://dev.schausberger.cc/">Dev-Blog</a> ein weiteres Modul als Ergänzung zur Verfügung gestellt, um auch Gruppenadressen abfragen zu können. Dies kann z.B. für GAs sinnvoll sein, die Störungen beinhalten, wie &#8220;Heizspannung ausgefallen&#8221;, &#8220;Drahtbruch&#8221; etc.</p>
<p>Funktion:</p>
<ul>
<li>Kommt von der GA 0 / false zurück, gibt das Plugin &#8220;OK&#8221; an Nagios zurück.</li>
<li>Andernfalls wird CRITICAL zurückgegeben.</li>
</ul>
<p>Download und weitere Infos <a href="http://dev.schausberger.cc/2014/08/nagios-plugin-for-monitoring-eib-knx-group-addresses/">hier</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2014/08/nagios-plugins-zur-uberwachung-von-eib-knx-komponenten/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>.Net Entity Framework: Check if data changed</title>
		<link>https://www.dxsdata.com/2013/11/net-entity-framework-check-if-data-changed/</link>
					<comments>https://www.dxsdata.com/2013/11/net-entity-framework-check-if-data-changed/#respond</comments>
		
		<dc:creator><![CDATA[ds]]></dc:creator>
		<pubDate>Mon, 11 Nov 2013 06:48:22 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://dev.schausberger.cc/?p=148</guid>

					<description><![CDATA[Problem DataSets offer a method &#8220;GetChanges()&#8221; to check if the user modified any data, so the application can ask the user if the changes should be saved, e.g. when closing the window. But there is no &#8220;ready-to-use&#8221; method for this when using Entity Framework. Solution Source Extension Method As an alternative, you can use the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Problem</strong></p>
<p>DataSets offer a method &#8220;GetChanges()&#8221; to check if the user modified any data, so the application can ask the user if the changes should be saved, e.g. when closing the window. But there is no &#8220;ready-to-use&#8221; method for this when using Entity Framework.</p>
<p><strong>Solution</strong></p>
<pre class="brush: csharp; title: ; notranslate">
dbEntities db = new dbEntities();
//...
//Place the following code e.g. in Window_Unloaded() Event (WPF) or FormClosing() in (WinForms)
bool changesMade = db.yourtable.Context.
                   ObjectStateManager.
                   GetObjectStateEntries(EntityState.Added |
                                         EntityState.Deleted |
                                         EntityState.Modified
                                        ).Any();
</pre>
<p><a href="http://stackoverflow.com/questions/3131347/check-if-there-are-any-pending-changes-to-be-saved">Source</a></p>
<p><strong>Extension Method</strong></p>
<p>As an alternative, you can use the following code to create an extension method:</p>
<pre class="brush: csharp; title: ; notranslate">
/// &lt;returns&gt;True, if any row of the table changed&lt;/returns&gt;
        public static bool HasUnsavedChanges&lt;T&gt;(this ObjectSet&lt;T&gt; table)
            where T : class
        {
            return table.Context.
                    ObjectStateManager.
                    GetObjectStateEntries(EntityState.Added |
                                            EntityState.Deleted |
                                            EntityState.Modified
                                            ).Any();
        }
</pre>
<p>So you can call e.g. &#8220;db.yourtable.HasUnsavedChanges()&#8221;.</p>
<p>&nbsp;</p>
<p><strong>Extension Method for whole Context</strong></p>
<pre class="brush: csharp; title: ; notranslate">
/// &lt;summary&gt;
        /// Checks whole EF context if there are objects to be saved, asks user, then saves to DB
        /// &lt;/summary&gt;
        /// &lt;param name=&quot;context&quot;&gt;&lt;/param&gt;
        /// &lt;returns&gt;&lt;/returns&gt;
        public static MessageBoxResult SaveChangesAfterAskingUser(this ObjectContext context)
        {
            bool changes = 
            context.ObjectStateManager.GetObjectStateEntries(EntityState.Added |
                                            EntityState.Deleted |
                                            EntityState.Modified
                                            ).Any();
                    
            if (!changes)
                return MessageBoxResult.None;

            MessageBoxResult result = MessageBox.Show(&quot;Save changes?&quot;, &quot;Save changes&quot;, MessageBoxButton.YesNoCancel);
            if (result == MessageBoxResult.Yes)
            {
                context.SaveChanges();
            }
            return result;
            
        }

</pre>
<p>Using this method, call e.g. &#8220;db.SaveChangesAfterAskingUser()&#8221;.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2013/11/net-entity-framework-check-if-data-changed/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hints for using HDMI-CEC with Zotac Zbox, AVR and PC monitor or TV</title>
		<link>https://www.dxsdata.com/2013/07/hints-for-using-hdmi-cec-with-zotac-zbox-avr-and-pc-monitor-or-tv/</link>
					<comments>https://www.dxsdata.com/2013/07/hints-for-using-hdmi-cec-with-zotac-zbox-avr-and-pc-monitor-or-tv/#respond</comments>
		
		<dc:creator><![CDATA[ds]]></dc:creator>
		<pubDate>Wed, 31 Jul 2013 15:00:36 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://misc.schausberger.cc/?p=157</guid>

					<description><![CDATA[Scenario You want your Zotac Zbox remote to control Zbox, your AV receiver and TV / PC monitor. Hints Use HDMI 1.4 cables. You do not really have to, but you can prevent bugs, as searching for CEC errors can be quite time consuming. Be sure you use an AVR that officially (and fully) supports CEC. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Scenario</strong></p>
<p>You want your Zotac Zbox remote to control Zbox, your AV receiver and TV / PC monitor.</p>
<p><strong>Hints</strong></p>
<ul>
<li>Use HDMI 1.4 cables. You do not really have to, but you can prevent bugs, as searching for CEC errors can be quite time consuming.</li>
<li>Be sure you use an AVR that officially (and fully) supports CEC. Many companies use different names for CEC; have a look at the CEC Wikipedia page. I can recommend the Yamaha RX-V373.</li>
<li>The Zotac Zboxes do not provide CEC, so you need to get an adapter like <a href="http://www.pulse-eight.com/store/products/104-usb-hdmi-cec-adapter.aspx">this one</a>. Installation in Openelec / XBMC is very convenient, you do not need any additional packages. You can configure it via GUI or use the cec-client (Windows and Linux) for debugging purposes.</li>
<li>An also useful site for debugging is <a href="http://www.cec-o-matic.com/">cec-o-matic</a>.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2013/07/hints-for-using-hdmi-cec-with-zotac-zbox-avr-and-pc-monitor-or-tv/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ETS4: Pauschalbearbeitung von Parametern / Änderungen replizierenETS4: Pauschalbearbeitung von Parametern / Änderungen replizieren</title>
		<link>https://www.dxsdata.com/2013/02/ets4-pauschalbearbeitung-von-parametern-anderungen-replizieren/</link>
					<comments>https://www.dxsdata.com/2013/02/ets4-pauschalbearbeitung-von-parametern-anderungen-replizieren/#respond</comments>
		
		<dc:creator><![CDATA[ds]]></dc:creator>
		<pubDate>Tue, 19 Feb 2013 16:15:37 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://eibknx.schausberger.cc/?p=33</guid>

					<description><![CDATA[Problem: Man möchte bei mehreren Busteilnehmern desselben Modells Parameter im Nachhinein ändern, und dabei nicht manuell alle Änderungen auf alle Geräte übernehmen müssen. Lösung: ETS4 bietet die Möglichkeit, im Topologie-Fenster mehrere Busteilnehmer zu markieren, und zwar per gedrückter Shift- oder Ctrl-Taste. Wichtig ist jedoch, dass man vorher bereits das Parameter-Fenster geöffnet hat, ansonsten werden die [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><!--:de--></p>
<p>Problem:</p>
<p>Man möchte bei mehreren Busteilnehmern desselben Modells Parameter im Nachhinein ändern, und dabei nicht manuell alle Änderungen auf alle Geräte übernehmen müssen.</p>
<p>Lösung:</p>
<p>ETS4 bietet die Möglichkeit, im Topologie-Fenster mehrere Busteilnehmer zu markieren, und zwar per gedrückter Shift- oder Ctrl-Taste. Wichtig ist jedoch, dass man <strong>vorher </strong>bereits das Parameter-Fenster geöffnet hat, ansonsten werden die Änderungen nur für 1 Gerät übernommen. Das ist leider schnell zu übersehen.</p>
<p>Den Hinweis beachten, dass mehrere Geräte markiert sind.</p>
<p>Danach den Parameter ändern und alles neu programmieren (partiell reicht im Normalfall), und es sollte alles übernommen worden sein.</p>
<p><a href="http://eibknx.schausberger.cc/2013/02/ets4-pauschalbearbeitung-von-parametern-anderungen-replizieren/unbenannt-2/" rel="attachment wp-att-35"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-35" title="ETS4 Multiple Auswahl" src="https://www.dxsdata.com/wp-content/uploads/2013/02/Unbenannt-300x123.png" alt="" width="300" height="123" /></a></p>
<p><!--:--><!--:en--></p>
<p>Problem:</p>
<p>Man möchte bei mehreren Busteilnehmern desselben Modells Parameter im Nachhinein ändern, und dabei nicht manuell alle Änderungen auf alle Geräte übernehmen müssen.</p>
<p>Lösung:</p>
<p>ETS4 bietet die Möglichkeit, im Topologie-Fenster mehrere Busteilnehmer zu markieren, und zwar per gedrückter Shift- oder Ctrl-Taste. Wichtig ist jedoch, dass man <strong>vorher </strong>bereits das Parameter-Fenster geöffnet hat, ansonsten werden die Änderungen nur für 1 Gerät übernommen. Das ist leider schnell zu übersehen.</p>
<p>Den Hinweis beachten, dass mehrere Geräte markiert sind.</p>
<p>Danach den Parameter ändern und alles neu programmieren (partiell reicht im Normalfall), und es sollte alles übernommen worden sein.</p>
<p><a href="http://eibknx.schausberger.cc/2013/02/ets4-pauschalbearbeitung-von-parametern-anderungen-replizieren/unbenannt-2/" rel="attachment wp-att-35"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-35" title="ETS4 Multiple Auswahl" src="https://www.dxsdata.com/wp-content/uploads/2013/02/Unbenannt-300x123.png" alt="" width="300" height="123" /></a></p>
<p><!--:--></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2013/02/ets4-pauschalbearbeitung-von-parametern-anderungen-replizieren/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Crystal Reports 2010 with VS .Net 2010 ignores Windows default printer setting</title>
		<link>https://www.dxsdata.com/2013/02/crystal-reports-2010-with-vs-net-2010-ignores-windows-default-printer-setting/</link>
					<comments>https://www.dxsdata.com/2013/02/crystal-reports-2010-with-vs-net-2010-ignores-windows-default-printer-setting/#respond</comments>
		
		<dc:creator><![CDATA[ds]]></dc:creator>
		<pubDate>Fri, 08 Feb 2013 10:41:33 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://dev.schausberger.cc/?p=74</guid>

					<description><![CDATA[If you want to print a Crystal Report via your .Net application, e.g. with CrystalReportViewer, it can happen that the application ignores your Windows default printer setting in the PrintDialog. This behaviour is caused by a report setting which tries to fit the report to the expected printer output (colour settings etc.). But it can [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>If you want to print a Crystal Report via your .Net application, e.g. with CrystalReportViewer, it can happen that the application ignores your Windows default printer setting in the PrintDialog.</p>
<p>This behaviour is caused by a report setting which tries to fit the report to the expected printer output (colour settings etc.). But it can be annoying for the end-user if he sets another printer as default, and the Report ignores this.</p>
<p>The simplest solution is turning this option off:</p>
<p>Right-click on the report -&gt; Draft -&gt; Page settings -&gt; check &#8220;No printer&#8221;.</p>
<p>For a detailed description, have a look at <a href="http://support.cyriouswiki.com/Crystal+Report+Ignores+Printer+Setting">this site</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2013/02/crystal-reports-2010-with-vs-net-2010-ignores-windows-default-printer-setting/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hyper-V: Compact or modify VHD file: Error 2424869</title>
		<link>https://www.dxsdata.com/2012/11/hyper-v-compact-or-modify-vhd-file-error-2424869/</link>
					<comments>https://www.dxsdata.com/2012/11/hyper-v-compact-or-modify-vhd-file-error-2424869/#respond</comments>
		
		<dc:creator><![CDATA[ds]]></dc:creator>
		<pubDate>Thu, 29 Nov 2012 06:33:08 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">http://san.schausberger.cc/?p=76</guid>

					<description><![CDATA[Problem: You want to modify a Hyper-V VHD virtual hard disk, but the wizard ends with an error. The event log shows the error code. Solution: You maybe have shadow copies on the guest machine. Start the VM and try the commands &#8220;vssadmin list shadows&#8221; and &#8220;vssadmin delete shadows /all&#8221;. Now it should work &#160; [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Problem:</p>
<p>You want to modify a Hyper-V VHD virtual hard disk, but the wizard ends with an error. The event log shows the error code.</p>
<p>Solution:</p>
<p>You maybe have shadow copies on the guest machine. Start the VM and try the commands &#8220;vssadmin list shadows&#8221; and &#8220;vssadmin delete shadows /all&#8221;. Now it should work</p>
<p>&nbsp;</p>
<p>(<a href="http://www.mcbsys.com/techblog/2010/10/hyper-v-failed-to-compact-vhd/">Source</a>)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dxsdata.com/2012/11/hyper-v-compact-or-modify-vhd-file-error-2424869/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
